Source Code
![]() |
These source-code files were transcribed from scans made from Don Eyles's personal
copy of BURST120 (SUNBURST 120). They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Mike Stewart. The code was transcribed
from these scans by a team of volunteers who are referenced in the program
comments. Comments from the original source code are in ALL-CAPS, whereas
comments added later in transcription are in Mixed-Case. In some cases, where
similar code blocks exist in previously-transcribed AGC programs (primarily
Luminary 99, from Apollo 11) those code blocks were used as a starting point and
then corrected to agree with the BURST120 scans. The full scans are available
at the Virtual AGC
project's collection at archive.org, while more-convenient reduced-size (but reduced-quality)
images are available at
the main Virtual AGC website. Report any errors noted by creating an
issue report at the Virtual AGC
project's GitHub repository. Notations on the program listing read, in part:YUL SYSTEM FOR AGC: REVISION 0 OF PROGRAM BURST120 BY NASA 2021106-031 DEC 7, 1967 THIS LISTING IS A COPY OF A VERSION OF THE PROGRAM INTENDED FOR USE IN THE ON-BOARD PRIMARY GUIDANCE COMPUTER IN THE UNMANNED FLIGHT OF APOLLO LUNAR MODULE 1 --- THE AS206 MISSION.Note that the date is the date of the printout, not the date of the program revision. |
013446,000002: ## Copyright: Public domain.
013447,000003: ## Filename: DOWN_TELEMETRY_PROGRAM.agc
013448,000004: ## Purpose: A module for revision 0 of BURST120 (Sunburst). It
013449,000005: ## is part of the source code for the Lunar Module's
013450,000006: ## (LM) Apollo Guidance Computer (AGC) for Apollo 5.
013451,000007: ## Assembler: yaYUL
013452,000008: ## Contact: Ron Burkey <info@sandroid.org>.
013453,000009: ## Website: www.ibiblio.org/apollo/index.html
013454,000010: ## Mod history: 2016-09-30 RSB Created draft version.
013455,000011: ## 2016-10-21 RSB Transcribed.
013456,000012: ## 2016-10-30 MAS Corrected NOMDNLIST->NOMDNLST.
013457,000013: ## 2016-10-31 RSB Typos.
013458,000014: ## 2016-11-01 RSB More typos.
013459,000015:
![]() |
Page 329 |
013461,000017: # PROGRAM NAME- DOWN TELEMETRY PROGRAM
013462,000018: # MOD NO.- 0
013463,000019: # MOD BY- KILROY
013464,000020: # DATE- 21NOV66
013465,000021: # LOG SECTION- DOWN-TELEMETRY PROGRAM
013466,000022: # ASSEMBLY- REV 12 OF SUNBURST
013467,000023: # FUNCTIONAL DESCRIPTION- THIS ROUTINE IS INITIATED BY TELEMETRY END
013468,000024: # PULSE FROM THE DOWNLINK TELEMETRY CONVERTER. THIS PULSE OCCURS
013469,000025: # AT 50 TIMES PER SEC(EVERY 20 MS) THEREFORE DODOWNTM IS
013470,000026: # EXECUTED AT THESE RATES. THIS ROUTINE SELECTS THE APPROPRIATE
013471,000027: # AGC DATA TO BE TRANSMITTED DOWNLINK AND LOADS IT INTO OUTPUT
013472,000028: # CHANNELS 34 AND 35. THE INFORMATION IS THEN GATED OUT FROM THE
013473,000029: # LGC IN SERIAL FASHION.
013474,000030: # THIS PROGRAM IS CODED FOR A 2 SECOND DOWNLIST. SINCE DOWNRUPTS
013475,000031: # OCCUR EVERY 20 MS AND 2 AGC COMPUTER WORDS CAN BE PLACED IN
013476,000032: # CHANNELS 34 AND 35 DURING EACH DOWNRUPT THE PROGRAM IS CAPABLE
013477,000033: # OF SENDING 200 AGC WORDS EVERY 2 SECONDS.
013478,000034: # CALLING SEQUENCE- NONE
013479,000035: # PROGRAM IS ENTERED VIA TCF DODOWNTM WHICH IS EXECUTED AS A
013480,000036: # RESULT OF A DOWNRUPT. CONTROL IS RETURNED VIA TCF RESUME WHICH
013481,000037: # IN EFFECT IS A RESUME.
013482,000038: # SUBROUTINES CALLED- NONE
013483,000039: # NORMAL EXIT MODE- TCF RESUME
013484,000040: # ALARM OR ABORT EXIT MODE- NONE
013485,000041: # RESTART PROTECTION- NONE.
013486,000042: # EXCEPT THAT WHEN A RESTART DOES OCCUR :STARTSUB: WILL
013487,000043: # INITIALIZE THE DOWNLIST POINTER TO THE BEGINNING OF THE NOMINAL
013488,000044: # DOWNLIST. THIS HAS THE EFFECT OF IGNORING THE REMAINDER OF THE
013489,000045: # DOWNLIST WHICH THE DOWN-TELEMETRY PROGRAM WAS WORKING ON WHEN
013490,000046: # THE RESTART OCCURRED.
013491,000047: # OUTPUT- EVERY 2 SECONDS 100 DOUBLE PRECISION WORDS(I.E., 200 LGC
013492,000048: # COMPUTER WORDS) ARE TRANSMITTED VIA DOWNLINK.
013493,000049: # ERASABLE INITIALIZATION REQUIRED- NONE
013494,000050: # DNTMGOTO,DNLSTADR AND EBANK ARE INITIALIZED IN STARTSUB(FRESH
013495,000051: # START AND RESTART)
013496,000052: # DEBRIS (ERASABLE LOCATIONS DESTROYED BY THIS PROGRAM)-
013497,000053: # LDATALST,ITEMP1,ITEMP2,DNTMBUFF TO DNTMBUFF + 21D,TMINDEX,DNQ
013498,000054:
013499,000055:
013500,000056: 15,2000 BANK 15
013501,000057: 15,2000 E7,1407 EBANK= DNTMBUFF
013502,000058:
013503,000059: 15,2000 ERASZERO EQUALS 7
013504,000060: 15,2000 0000007 DMYECADR EQUALS ERASZERO # USE DMYECADR TO GENERATE A DUMMY ECADR
013505,000061: 15,2000 0000007 DMYADRES EQUALS ERASZERO # USE DMYADRES TO GENERATE A DUMMY ADRES
013506,000062: 15,2000 0000007 UNKNOWN EQUALS ERASZERO # USE UNKNOWN WHEN THE MNEMONIC IS UNKNOWN
013507,000063: 15,2000 0000007 SPARE EQUALS ERASZERO # USE SPARE TO INDICATE AVAILABLE SPACE
013508,000064:
013509,000065: 15,2000 00437 LOWIDCOD OCT 00437
![]() |
Page 330 |
013511,000067:
013512,000068:
013513,000069: # DODOWNTM IS ENTERED EVERY 20 MS BY AN INTERRUPT TRIGGERED BY THE
013514,000070: # RECEIPT OF AN ENDPULSE FROM THE SPACECRAFT TELEMETRY PROGRAMMER.
013515,000071:
013516,000072: # THE ORGANIZATION OF THE PROGRAM IS AS FOLLOWS......
013517,000073: # 1. A MAIN PROGRAM(DODOWNTM) WHICH CONTROLS A SERIES OF SUBROUTINES.
013518,000074: # 2. SUBROUTINES(SENDID,SENDSNAP ETC.) WHICH ARE DESIGNED TO HANDLE
013519,000075: # SPECIFIC PORTIONS OF THE DOWNLIST.
013520,000076: # 3. :EQUALS: CARDS(NDP1, NDP2, LINCR) WHICH DEFINE NO. OF ITEMS IN THE
013521,000077: # PORTIONS OF THE DOWNLISTS.
013522,000078: # 4. DOWNLISTS. - DOWNLISTS MUST BE COMPILED IN THE SAME BANK AS THE
013523,000079: # DOWN-TELEMETRY PROGRAM. THIS IS DONE FOR EASE OF CODING, FASTER
013524,000080: # EXECUTION AND TO INSURE THAT THE DOWNLIST ID:S(FIRST WORD OF EACH
013525,000081: # 2 SEC DOWNLIST.) ARE UNIQUE. THE LOCATION OF THE AGS DOWNLIST MUST BE
013526,000082: # 2001 OF THE FBANK IN WHICH THE DOWN-TELEMETRY PROGRAM RESIDES.
013527,000083: # (I.E. AGSLIST = XX,2001). THIS WILL MAKE THE ID WORD FO RTHE AGS
013528,000084: # DOWNLINK DATA = 00001.
013529,000085:
013530,000086: 15,2001 54016 DODOWNTM TS BANKRUPT
013531,000087: 15,2002 00006 EXTEND
013532,000088: 15,2003 22012 QXCH QRUPT
013533,000089: 15,2004 51401 INDEX DNTMGOTO # GO TO APPROPRIATE
013534,000090: 15,2005 10000 TCF 0 # TELEMETRY PHASE
013535,000091: 15,2006 02032 DNPHASE1 TC SENDID # SEND ID WORD(S)
013536,000092: 15,2007 37755 CAF BIT7 # SET WORD ORDER
013537,000093: 15,2010 00006 EXTEND # BACK TO 1 FOR
013538,000094: 15,2011 05013 WOR 13 # REMAINDER OF CYCLE
013539,000095: 15,2012 32235 CA DNLINCR # CALCULATE ADDRESS OF
013540,000096: 15,2013 27400 ADS LDATALST # SNAPSHOT WORDS TO BE SENT (GROUP 1)
013541,000097: 15,2014 02046 TC SNAPSHOT # SAVE AND SEND SNAPSHOT WORDS (GROUP 1)
013542,000098: 15,2015 32233 CA DNDP1-1 # PLACE NO. OF DP WORDS IN GROUP 1 INTO A
013543,000099: 15,2016 02116 TC SENDDP # SEND DOUBLE PRECISION WORDS (GROUP 1)
013544,000100: 15,2017 02152 TC SENDCH # SEND CHANNELS 11-14 AND 31-33
013545,000101: 15,2020 02206 TC SENDDSTB # SEND DISPLAY TABLES
013546,000102: 15,2021 02226 TC SENDTIME # SEND TIME1 AND TIME2
013547,000103: 15,2022 42112 CS DNSNAP # CALCULATE ADDRESS OF
013548,000104: 15,2023 27400 ADS LDATALST # SNAPSHOT WORDS TO BE SENT(GROUP 2)
013549,000105: 15,2024 02046 TC SNAPSHOT # SAVE AND SEND SNAPSHOT WORDS (GROUP 2)
013550,000106: 15,2025 32234 CA DNDP2-1 # PLACE NO. OF DP WORDS IN GROUP 2
013551,000107: 15,2026 02116 TC SENDDP # SEND DOUBLE PRECISION WORDS(GROUP 2)
013552,000108: 15,2027 02152 TC SENDCH # SEND CHANNELS 11-14 AND 31-33
013553,000109: 15,2030 02206 TC SENDDSTB # SEND DISPLAY TABLE
013554,000110: 15,2031 12006 TCF DNPHASE1 # GO BACK AND START OVER
013555,000111:
013556,000112:
013557,000113: # ................................................................................
013558,000114: 15,2032 30411 SENDID CA DNLSTADR # INITIALIZE DOWNLIST ADDRESS AS SELECTED
013559,000115: 15,2033 55400 TS LDATALST # BY A MISSION OR TEST PROGRAM
013560,000116: 15,2034 47755 CS BIT7 # SET WORD
013561,000117: 15,2035 00006 EXTEND # ORDER BIT 7 IN
![]() |
Page 331 |
013563,000119: 15,2036 03013 WAND 13 # CHANNEL 13 TO 0
013564,000120:
013565,000121: 15,2037 00006 EXTEND # SET UP DNTMGOTO SO NEXT ENTRY TO
013566,000122: 15,2040 23401 QXCH DNTMGOTO # DODOWNTM WILL TRANSFER CONTROL TO
013567,000123: # THE INSTRUCTION AFTER TC SENDID.
013568,000124:
013569,000125: 15,2041 32000 CAF LOWIDCOD # PLACE SPECIAL ID CODE INTO L
013570,000126: 15,2042 54001 TS L
013571,000127:
013572,000128: 15,2043 31400 CA LDATALST # ISOLATE RELATIVE LOC OF DOWNLIST IN THIS
013573,000129: 15,2044 75337 MASK LOW10 # FIXED BANK. RESULT = 0000 - 1777. NO
013574,000130: # CONFLICT OF DUPLICATE ID WORDS CAN OCCUR
013575,000131:
013576,000132: 15,2045 12140 TCF DNTMEXIT # SEND LIST ID WORD AND SPECIAL ID CODE
013577,000133:
013578,000134:
013579,000135: # ................................................................................
013580,000136: 15,2046 00006 SNAPSHOT EXTEND
013581,000137: 15,2047 23406 QXCH DNQ # SAVE RETURN ADDRESS
013582,000138: 15,2050 37767 CAF ZERO # INITIALIZE THE
013583,000139: 15,2051 54061 TS ITEMP1 # DNTMBUFF INCREMENTER(ITEMP1) TO ZERO.
013584,000140: 15,2052 32114 CAF DNSNAP-2 # INITIALIZE LOOP COUNTER(ITEMP2) TO
013585,000141: 15,2053 54062 SNAPLOOP TS ITEMP2 # TOTAL NO. OF SNAPSHOT DP WORDS LESS 2.
013586,000142: 15,2054 61400 AD LDATALST # CALCULATE ADDRESS OF NEXT
013587,000143: 15,2055 00006 EXTEND # ENTRY IN DOWNLIST
013588,000144: 15,2056 50000 INDEX A # PICK UP THE DOUBLE PRECISION WORD FROM
013589,000145: 15,2057 50000 INDEX 0 # THE NEXT ENTRY
013590,000146: 15,2060 30001 DCA 0 # IN THE DOWNLIST.
013591,000147: 15,2061 50061 INDEX ITEMP1 # AND SAVE IT IN THE NEXT AVAILABLE LOC
013592,000148: 15,2062 53410 DXCH DNTMBUFF # IN DNTMBUFF SNAPSHOT BUFFER.
013593,000149: 15,2063 37762 CAF TWO # INCREMENT DNTMBUFF INCREMENTER(ITEMP1)
013594,000150: 15,2064 26061 ADS ITEMP1 # BY 2.
013595,000151: 15,2065 10062 CCS ITEMP2 # HAVE ALL SNAPSHOT DP WORDS BEEN SAVED...
013596,000152: 15,2066 12053 TCF SNAPLOOP # NO--GO BACK AND CONTINUE SAVING THEM
013597,000153: 15,2067 32113 CAF DNSNAP-1 # YES--PLACE NO. OF DP WORDS REMAINING
013598,000154: 15,2070 55402 TS TMINDEX # TO BE SENT INTO TMINDEX.
013599,000155: 15,2071 32115 CAF LSENDSNP # SET UP DNTMGOTO SO PROGRAM CONTROL WILL
013600,000156: 15,2072 55401 TS DNTMGOTO # BE TRANSFERRED TO SENDSNAP ON NEXT
013601,000157: # ENTRY TO DODOWNTM.
013602,000158: 15,2073 00006 EXTEND # PICK UP FIRST DP SNAPSHOT WORD
013603,000159: 15,2074 51400 INDEX LDATALST # AND PLACE IT IN A + L.
013604,000160: 15,2075 50013 INDEX NSNAP -1 # (((THIS ADDITIONAL CODING ALTHOUGH A BIT
013605,000161: 15,2076 30001 DCA 0 # SUPERFLUOUS IS JUSTIFIED BECAUSE IT
013606,000162: # SAVES 2 WORDS OF ERASABLE STORAGE)))
013607,000163: 15,2077 12140 TCF DNTMEXIT # GO SEND FIRST SNAPSHOT DP ENTRY.
013608,000164: 15,2100 11402 SENDSNAP CCS TMINDEX # ANY SNAPSHOT WORDS LEFT IN BUFFER
013609,000165: 15,2101 12103 TCF +2 # YES--GO PROCESS THEM
013610,000166: 15,2102 01406 TC DNQ # NO--RETURN TO INSTRUCTION AFTER
013611,000167: # TC SNAPSHOT.
013612,000168:
![]() |
Page 332 |
013614,000170: 15,2103 55402 TS TMINDEX # SAVE COUNT OF SNAPSHOT WORDS REMAINING
013615,000171: 15,2104 60000 DOUBLE # CALCULATE DECREMENTER
013616,000172: 15,2105 40000 COM # FOR NEXT DP WORD IN
013617,000173: 15,2106 00006 EXTEND # BUFFER.
013618,000174: 15,2107 50000 INDEX A
013619,000175: 15,2110 31434 DCA DNTMBUFF +20D # TAKE NEXT DP WORD OUT OF BUFFER, PLACE
013620,000176: 15,2111 12140 TCF DNTMEXIT # IT INTO A + L AND GO SEND IT.
013621,000177: 15,2112 NSNAP EQUALS 12D # NUMBER OF DP SNAPSHOT WORDS
013622,000178: 15,2112 00014 DNSNAP ADRES NSNAP # NO. OF DP SNAPSHOT WORDS CONSTANT
013623,000179: 15,2113 00013 DNSNAP-1 ADRES NSNAP -1 # NO. OF DP SNAPSHOT WORDS -1 CONSTANT
013624,000180: 15,2114 00012 DNSNAP-2 ADRES NSNAP -2 # NO. OF DP SNAPSHOT WORDS -2 CONSTANT
013625,000181: 15,2115 02100 LSENDSNP ADRES SENDSNAP # LOC OF ROUTINE WHICH SENDS SNAPSHOT BUFF
013626,000182:
013627,000183:
013628,000184: # ................................................................................
013629,000185: 15,2116 00006 SENDDP EXTEND # ENTER WITH NO. DP WORDS REMAINING TO
013630,000186: 15,2117 23406 QXCH DNQ # BE SEND IN A. SAVE RETURN ADDRESS.
013631,000187: 15,2120 55402 TS TMINDEX # PLACE NO. OF DP WORDS TO BE SENT AFTER
013632,000188: 15,2121 67763 AD ONE # THIS ONE INTO TMINDEX. CALCULATE NEXT
013633,000189: 15,2122 40000 COM # LOCATION IN DOWNLIST AND SAVE
013634,000190: 15,2123 27400 ADS LDATALST # IT IN LDATALST.
013635,000191: 15,2124 32151 CAF LSENDDPA # SET UP DNTMGOTO SO PROGRAM CONTROL WILL
013636,000192: 15,2125 55401 TS DNTMGOTO # GO TO SENDDPA ON NEXT ENTRY TO DODOWNTM.
013637,000193: 15,2126 31402 CAE TMINDEX # PLACE NO. OF WORDS REMAINING TO BE SENT
013638,000194: 15,2127 55402 SENDDPB TS TMINDEX # INTO A. SAVE NO. DP WORDS TO BE SENT.
013639,000195: 15,2130 61400 AD LDATALST # CALCULATE NEXT DOWNLIST ENTRY.
013640,000196: 15,2131 50000 INDEX A
013641,000197: 15,2132 30000 CA 0 # PICK UP ECADR OF NEXT DOWNLIST ENTRY.
013642,000198: 15,2133 54003 TS EBANK # SET EBANK.
013643,000199: 15,2134 74564 MASK LOW8 # ISOLATE RELATIVE ADDRESS.
013644,000200: 15,2135 00006 EXTEND
013645,000201: 15,2136 50000 INDEX A # PICK UP DOUBLE PRECISION
013646,000202: 15,2137 31401 DCA 3400 # WORD INTO A + L. (DCA 3400 = DCA 1400)
013647,000203:
013648,000204: 15,2140 00006 DNTMEXIT EXTEND # GENERAL DOWN-TELEMETRY EXIT
013649,000205: 15,2141 01034 WRITE DNTM1 # TO SEND A + L TO CHANNELS 34 + 35
013650,000206: 15,2142 30001 CA L # RESPECTIVELY.
013651,000207:
013652,000208: 15,2143 00006 TMEXITL EXTEND # ALTERNATE DOWN TELEMETRY EXIT
013653,000209: 15,2144 01035 WRITE DNTM2 # TO SEND A TO CHANNEL 35.
013654,000210: 15,2145 15733 TCF RESUME # EXIT DOWN TELEMETRY PROG VIA RESUME.
013655,000211:
013656,000212: 15,2146 11402 SENDDPA CCS TMINDEX # ANY DP WORDS REMAINING TO BE SENT.
013657,000213: 15,2147 12127 TCF SENDDPB # YES--GO SEND THEM.
013658,000214: 15,2150 01406 TC DNQ # RETURN TO INSTR AFTER TC SENDDP.
013659,000215: 15,2151 02146 LSENDDPA ADRES SENDDPA # LOC OF ROUTINE WHICH SENDS DP WORDS.
013660,000216:
013661,000217:
013662,000218: # ................................................................................
013663,000219: 15,2152 00006 SENDCH EXTEND
![]() |
Page 333 |
013665,000221: 15,2153 23406 QXCH DNQ # SAVE RETURN ADDRESS
013666,000222: 15,2154 32175 CAF LSENDCHA # SET UP DNTMGOTO SO PROG CONTROL WILL GO
013667,000223: 15,2155 55401 TS DNTMGOTO # TO SENDCHA ON NEXT ENTRY TO DODOWNTM
013668,000224: 15,2156 36311 CAF THREE # PLACE NO. OF PAIRS OF CHANNELS TO BE
013669,000225: # SENT AFTER THIS PAIR INTO A.
013670,000226: 15,2157 55402 SENDCHB TS TMINDEX # SAVE NO. OF PAIRS OF CHANNELS REMAINING
013671,000227: 15,2160 00006 EXTEND # TO BE SENT INTO A. PICK UP CHANNEL
013672,000228: 15,2161 50000 INDEX A # ADDRESS FROM
013673,000229: 15,2162 52202 INDEX FIXLSTCL # NEXT ENTRY IN FIXLSTCL.
013674,000230: 15,2163 00000 READ 0 # PLACE CONTENTS OF THE
013675,000231: 15,2164 54001 TS L # CHANNEL INTO L.
013676,000232: 15,2165 00006 EXTEND # PICK UP NEXT CHANNEL
013677,000233: 15,2166 51402 INDEX TMINDEX # ADDRESS FROM NEXT ENTRY
013678,000234: 15,2167 52176 INDEX FIXLSTCA # IN FIXLSTCA.
013679,000235: 15,2170 00000 READ 0 # PLACE CONTENTS OF CHANNEL INTO A.
013680,000236: 15,2171 12140 TCF DNTMEXIT # NOW GO SEND A + L.
013681,000237: 15,2172 11402 SENDCHA CCS TMINDEX # ANY MORE CHANNEL PAIRS TO BE SENT......
013682,000238: 15,2173 12157 TCF SENDCHB # YES--GO SEND THEM.
013683,000239: 15,2174 01406 TC DNQ # NO--RETURN TO INSTR AFTER TC SENDCH.
013684,000240: 15,2175 02172 LSENDCHA ADRES SENDCHA # LOCATION OF ROUTINE WHICH SENDS CHANNELS
013685,000241: 15,2176 00032 FIXLSTCA OCT 32 # CHANNEL 32
013686,000242: 15,2177 00030 OCT 30 # CHANNEL 30
013687,000243: 15,2200 00013 OCT 13 # CHANNEL 13
013688,000244: 15,2201 00011 OCT 11 # CHANNEL 11
013689,000245: 15,2202 00033 FIXLSTCL OCT 33 # CHANNEL 33
013690,000246: 15,2203 00031 OCT 31 # CHANNEL 31
013691,000247: 15,2204 00014 OCT 14 # CHANNEL 14
013692,000248: 15,2205 00012 OCT 12 # CHANNEL 12
013693,000249:
013694,000250:
013695,000251: # ................................................................................
013696,000252: 15,2206 00006 SENDDSTB EXTEND
013697,000253: 15,2207 23406 QXCH DNQ # SAVE RETURN ADDRESS
013698,000254: 15,2210 32225 CAF LSENDDSA # SET UP DNTMGOTO SO PROGRAM CONTROL WILL
013699,000255: 15,2211 55401 TS DNTMGOTO # GO TO SENDDSA ON NEXT ENTRY TO DODOWNTM.
013700,000256: 15,2212 37766 CAF FIVE # PLACE NO. OF PAIRS OF DSPTAB WORDS REM
013701,000257: 15,2213 55402 SENDDSB TS TMINDEX # AFTER THIS PAIR INTO A. SAVE NO. REMAIN-
013702,000258: 15,2214 60000 DOUBLE # ING INTO TMINDEX. CALCULATE DECREMENTER
013703,000259: 15,2215 40000 COM # FOR NEXT PAIR OF WORDS(SP)
013704,000260: 15,2216 00006 EXTEND # IN DSPTAB.
013705,000261: 15,2217 50000 INDEX A # PICK UP PAIR OF DSPTAB WORDS(SP) AND
013706,000262: 15,2220 30326 DCA DSPTAB +10D # LEAVE THEM IN A + L.
013707,000263: 15,2221 12140 TCF DNTMEXIT # NOW GO SEND A + L.
013708,000264: 15,2222 11402 SENDDSA CCS TMINDEX # ANY WORDS LEFT IN DSPTAB TO BE SENT.....
013709,000265: 15,2223 12213 TCF SENDDSB # YES--GO SEND THEM
013710,000266: 15,2224 01406 TC DNQ # NO--RETURN TO INSTR AFTER TC SENDDSTB.
013711,000267: 15,2225 02222 LSENDDSA ADRES SENDDSA # LOC OF ROUTINE WHICH SENDS DISPLAY TABLE
013712,000268:
013713,000269:
013714,000270: # ................................................................................
![]() |
Page 334 |
013716,000272: 15,2226 00006 SENDTIME EXTEND # SET P DNTMGOTO SO PROGRAM CONTROLL WILL
013717,000273: 15,2227 23401 QXCH DNTMGOTO # GO TO INSTRUCTION AFTER TC SENDTIME.
013718,000274: 15,2230 00006 EXTEND
013719,000275: 15,2231 30025 DCA TIME2 # PLACE TIME2 AND TIME1 INTO A AND L.
013720,000276: 15,2232 12140 TCF DNTMEXIT # NOW GO SEND A AND L.
013721,000277:
013722,000278:
013723,000279: # ................................................................................
013724,000280: 15,2233 00032 DNDP1-1 ADRES NDP1 -1 # NO. OF DP WORDS IN GROUPS 1 LESS 1
013725,000281: 15,2234 00032 DNDP2-1 ADRES NDP2 -1 # NO. OF DP WORDS IN GROUPS 2 LESS 1
013726,000282: 15,2235 00102 DNLINCR ADRES LINCR # RELATIVE LOC OF FIRST GROUP IN DOWNLIST.
013727,000283: # ................................................................................
013728,000284: # ********************************************************************************
013729,000285: # CHANGE THE FOLLOWING 3 EQUALS CARDS WHEN MODIFYING THE STRUCTURE OF THE
013730,000286: # DOWNLISTS.
013731,000287: 15,2236 NDP1 EQUALS 27D # NUMBER OF DP WORDS (GROUP 1)
013732,000288: 15,2236 NDP2 EQUALS 27D # NUMBER OF DP WORDS (GROUP 2)
013733,000289: 15,2236 LINCR EQUALS 66D # LINCR = NDP1 + NDP2 + 12D
013734,000290: # ********************************************************************************
013735,000291:
![]() |
Page 335 |
013737,000293: # NOMINAL SUNBURST (AS206) 2 SECOND DOWNLIST
013738,000294: # AS OF DATE = 02FEB67
013739,000295:
013740,000296: # LAST ENTRY IN DOWNLIST WILL BE SENT FIRST, THEN LAST ENTRY - 1 ETC.----
013741,000297: 15,2236 NOMDNLST EQUALS
013742,000298: 15,2236 15,2236 UPDNLIST EQUALS NOMDNLST # NOT USED IN 206.
013743,000299: # ----------------------------DISPLAY TABLES--------------------------------------
013744,000300: # DSPTAB +10D AND DSPTAB +11D
013745,000301: # DSPTAB +8D AND DSPTAB +9D
013746,000302: # DSPTAB +6 AND DSPTAB +7
013747,000303: # DSPTAB +4 AND DSPTAB +5
013748,000304: # DSPTAB +2 AND DSPTAB +3
013749,000305: # DSPTAB AND DSPTAB +1
013750,000306: # -----------------------------CHANNELS-------------------------------------------
013751,000307: # CHANNELS 32 AND 33
013752,000308: # CHANNELS 30 AND 31
013753,000309: # CHANNELS 13 AND 14
013754,000310: # CHANNELS 11 AND 12
013755,000311: # -------------------DOUBLE PRECISION - ANY EBANK (GROUP 2)----------------------
013756,000312: 15,2236 00076 ECADR STATE +2 # (FLAGWRD2,DAPBOOLS) FLAGWORDS
013757,000313: 15,2237 00074 ECADR STATE # (STATE,FLAGWRD1) FLAGWORDS
013758,000314: 15,2240 03017 ECADR OMEGAR -1 # (GARBAGE,OMEGAR) ANGULAR RATES ABOUT THE
013759,000315: 15,2241 03015 ECADR OMEGAP # (OMEGAP,OMEGAQ) P,Q,R BODY AXES (DAP)
013760,000316: # SCALED AT 45 DEG/SEC.
013761,000317: 15,2242 00033 ECADR CDUY # (CDUY,CDUZ) ACTUAL CDU:S
013762,000318: 15,2243 00031 ECADR CDUX -1 # (GARBAGE, CDUX) ACTUAL CDU:S
013763,000319: 15,2244 02343 ECADR RD +4 # APS2 DESIRED RADIUS VECTOR IN STABLE
013764,000320: 15,2245 02341 ECADR RD +2 # MEMBER CO-ORDINATES.
013765,000321: 15,2246 02337 ECADR RD # SCALED METERS X 2(-25).
013766,000322: 15,2247 02327 ECADR VDVECT +4 # APS2,DPS1 DESIRED VELOCITY VECTOR IN
013767,000323: 15,2250 02325 ECADR VDVECT +2 # STABLE MEMBER CO-ORDINATES.
013768,000324: 15,2251 02323 ECADR VDVECT # SCALED M/CS X 2(-7).
013769,000325: 15,2252 02335 ECADR VGVECT +4 # APS2,DPS1 VELOCITY IN GAINED SCALED
013770,000326: 15,2253 02333 ECADR VGVECT +2 # M/CS X 2(-7). IN LOCAL VERTICAL (APS2)
013771,000327: 15,2254 02331 ECADR VGVECT # OR STABLE MEMBER (DPS1).
013772,000328: 15,2255 02345 ECADR TTGO # ESTIMATED TIME TO GO IN CS(APS2,DPS1,2).
013773,000329: 15,2256 00764 ECADR PHASENUM # (PHASENUM,1/PIPADT)PRESENT MISSION PHASE
013774,000330: # , IMU COMP TIME BASE OR DT IN C.S.
013775,000331: 15,2257 01166 ECADR MTIMER2 # (MTIMER2,MTIMER1) REGISTERS CONTAINING
013776,000332: 15,2260 01164 ECADR MTIMER4 # (MTIMER4,MTIMER3) DELTA T:S OF MP:S.
013777,000333: 15,2261 01172 ECADR MPHASE2 # (MPHASE2,MPHASE1) REGISTERS CONTAINING
013778,000334: 15,2262 01170 ECADR MPHASE4 # (MPHASE4,MPHASE3) MP:S TO BE CALLED.
013779,000335: 15,2263 02551 ECADR DELAREA # SCALED IN UNITS OF 2(7) PERCENT INCREASE
013780,000336: 15,2264 01143 ECADR LMPIN # (LMPIN,LMPOUT)
013781,000337: 15,2265 01141 ECADR LMPCMD +6 # OUTPUT TO LMP = REGISTERS
013782,000338: 15,2266 01137 ECADR LMPCMD +4 # CONTAINING THE
013783,000339: 15,2267 01135 ECADR LMPCMD +2 # LAST EIGHT LMP COMMANDS
013784,000340: 15,2270 01133 ECADR LMPCMD # TO BE SENT BY THE LGC.
013785,000341: # ---------SNAPSHOT DP WORDS FROM EBANK E7 OR UNSWITCHABLE ERASABLE(GROUP 2)------
013786,000342: 15,2271 00033 ADRES CDUY # (CDUY,CDUZ)
![]() |
Page 336 |
013788,000344: 15,2272 00033 ADRES CDUY # (CDUY,CDUZ)
013789,000345: 15,2273 01320 ADRES MASS # MASS SCALED IN UNITS OF 2(15) KGS.
013790,000346: 15,2274 00100 ADRES STATE +4 # (STATE +4,GARBAGE) LAMBERT FLAGS
013791,000347: 15,2275 00041 ADRES PIPAZ # (PIPAZ,GARBAGE) ACTUAL Z PIP COUNTS.
013792,000348: 15,2276 00037 ADRES PIPAX # (PIPAX,PIPAY) ACTUAL X,Y PIP COUNTS.
013793,000349: 15,2277 01364 ADRES ALMCADR +1 # (ALMCADR +1,ERCOUNT)ALM LOC BBCON,SLFCK
013794,000350: # FAIL COUNTER.
013795,000351: 15,2300 01362 ADRES FAILREG +2 # (FAILREG +2,ALMCADR)ALM CODE,ALM LOC Q.
013796,000352: 15,2301 01360 ADRES FAILREG # (FAILREG, +1)LAST AND PREV. ALARM CODES.
013797,000353: 15,2302 01567 ADRES COMPTORK +4 # E)GYROCOMPASS GYRO TORQUES IN VERTICAL,
013798,000354: 15,2303 01565 ADRES COMPTORK +2 # S)SOUTH, EAST SYSTEM,ERATE NOT INCLUDED.
013799,000355: 15,2304 01563 ADRES COMPTORK # V) 37777,37777 = (1 - 2(-28))REVS.
013800,000356: # ------------------------------------LGC CLOCK------------------------------------
013801,000357: # TIME2 AND TIME1
013802,000358: # ----------------------------DISPLAY TABLES--------------------------------------
013803,000359: # DSPTAB +10D AND DSPTAB +11D
013804,000360: # DSPTAB +8D AND DSPTAB +9D
013805,000361: # DSPTAB +6 AND DSPTAB +7
013806,000362: # DSPTAB +4 AND DSPTAB +5
013807,000363: # DSPTAB +2 AND DSPTAB +3
013808,000364: # DSPTAB AND DSPTAB +1
013809,000365: # -----------------------------CHANNELS-------------------------------------------
013810,000366: # CHANNELS 32 AND 33
013811,000367: # CHANNELS 30 AND 31
013812,000368: # CHANNELS 13 AND 14
013813,000369: # CHANNELS 11 AND 12
013814,000370: # -------------------DOUBLE PRECISION - ANY EBANK (GROUP 1)----------------------
013815,000371: 15,2305 00076 ECADR STATE +2 # (FLAGWRD2,DAPBOOLS) FLAGWORDS
013816,000372: 15,2306 00074 ECADR STATE # (STATE,FLAGWRD1) FLAGWORDS
013817,000373: 15,2307 03017 ECADR OMEGAR -1 # (GARBAGE,OMEGAR) ANGULAR RATES ABOUT THE
013818,000374: 15,2310 03015 ECADR OMEGAP # (OMEGAP,OMEGAQ) P,Q,R BODY AXES (DAP)
013819,000375: # SCALED AT 45 DEG/SEC.
013820,000376: 15,2311 00033 ECADR CDUY # (CDUY,CDUZ) ACTUAL CDU:S
013821,000377: 15,2312 00031 ECADR CDUX -1 # (GARBAGE, CDUX) ACTUAL CDU:S
013822,000378: 15,2313 01356 ECADR REDOCTR # (REDOCTR,SFAIL)RESTART CTR,FLFCK FAIL Q.
013823,000379: 15,2314 02267 ECADR TIGN # TIME FOR ENGINE ON IN CS (MP'S 9,11,13).
013824,000380: 15,2315 03260 ECADR AOSQ # (AOSQ,AOSR) MOMENT OFFSET(Q,R)
013825,000381: # SCALED AT 90 DEG/SEC/SEC.
013826,000382: 15,2316 02570 ECADR FC # THRUST COMMAND SCALED 3 LBS X 2(-14).
013827,000383: 15,2317 01311 ECADR TEVENT # TIME OF GRR, LIFTOFF, ENGINE ON/OFF (CS)
013828,000384: 15,2320 00365 ECADR IMODES30 # (IMODES30,IMODES33) PGNCS FLAGWORDS.
013829,000385: 15,2321 02313 ECADR STBUFF +12D # STBUFF = 14 REGISTERS
013830,000386: 15,2322 02311 ECADR STBUFF +10D # IN WHICH THE UPLINKED DATA
013831,000387: 15,2323 02307 ECADR STBUFF +8D # IS PLACED FOR GROUND
013832,000388: 15,2324 02305 ECADR STBUFF +6D # DISPLAY AND VERIFICATION
013833,000389: 15,2325 02303 ECADR STBUFF +4D # BEFORE PLACEMENT
013834,000390: 15,2326 02301 ECADR STBUFF +2D # IN THE APPROPRIATE
013835,000391: 15,2327 02277 ECADR STBUFF # ERASABLE LOCATIONS
013836,000392: 15,2330 02315 ECADR STCOUNT # (STCOUNT,UPOLDMD)
013837,000393: 15,2331 02321 ECADR UPVERB # (UPVERB,COMPNUMB)
![]() |
Page 337 |
013839,000395: 15,2332 03021 ECADR ALPHAR # (ALPHAR,GARBAGE)DIST, ACC, ABOUT R-AXIS
013840,000396: 15,2333 01143 ECADR LMPIN # (LMPIN,LMPOUT)
013841,000397: 15,2334 01141 ECADR LMPCMD +6 # OUTPUT TO LMP = REGISTERS
013842,000398: 15,2335 01137 ECADR LMPCMD +4 # CONTAINING THE
013843,000399: 15,2336 01135 ECADR LMPCMD +2 # LAST EIGHT LMP COMMANDS
013844,000400: 15,2337 01133 ECADR LMPCMD # TO BE SENT BY THE LGC.
013845,000401: # ---------SNAPSHOT DP WORDS FROM EBANK E7 OR UNSWITCHABLE ERASABLE(GROUP 1)------
013846,000402: 15,2340 00407 ADRES DELVZ # THE CHANGE IN VELOCITY ALONG
013847,000403: 15,2341 00405 ADRES DELVY # EACH OF THE STABLE MEMBER AXES IN THE
013848,000404: 15,2342 00403 ADRES DELVX # 2 SEC INTERVAL PRECEEDING PIPTIME.
013849,000405: 15,2343 00767 ADRES CDUYD # (CDUYD,CDUZD) DESIRED CDU:S
013850,000406: 15,2344 00765 ADRES CDUXD -1 # (GARBAGE,CDUXD) DESIRED CDU:S
013851,000407: 15,2345 01326 ADRES STATIME # TIME FOR RN AND VN IN CENTISECONDS
013852,000408: 15,2346 01022 ADRES VN +4 # AVE.G/ORBIT.INT. STATE VECTOR Z VEL
013853,000409: 15,2347 01020 ADRES VN +2 # AVE.G/ORBIT.INT. STATE VECTOR Y VEL
013854,000410: 15,2350 01016 ADRES VN # AVE.G/ORBIT.INT. STATE VECTOR X VEL
013855,000411: # VN IN SCALED METERS/CS X 2(-7).
013856,000412: 15,2351 01014 ADRES RN +4 # AVE.G/ORBIT.INT. STATE VECTOR Z VEL
013857,000413: 15,2352 01012 ADRES RN +2 # AVE.G/ORBIT.INT. STATE VECTOR Y VEL
013858,000414: 15,2353 01010 ADRES RN # AVE.G/ORBIT.INT. STATE VECTOR X VEL
013859,000415: # RN IN SCALED METERS X 2(-7).
013860,000416: # ----------------------------------ID WORDS--------------------------------------
013861,000417: # I.D., SYNCH BITS
013862,000418: # -------------START HERE AND READ BACK FOR CONTENTS OF DOWNLIST------------------
013863,000419:
![]() |
Page 338 |
013865,000421: # SPECIAL DOWN-LINK PROGRAM TO SEND SAMPLES OF CDUY & Z, AND TO TURN THE DAP BACK ON.
013866,000422:
013867,000423: 15,2354 35337 DNCDUS CA LOW10 # MAKE THIS ID UNIQUE.
013868,000424: 15,2355 02033 TC SENDID +1 # SEND ID & EXIT.
013869,000425:
013870,000426: 15,2356 37755 CAF BIT7 # ENTER HERE THE SECOND TIME.
013871,000427: 15,2357 00006 EXTEND
013872,000428: 15,2360 05013 WOR 13 # SET WORD ORDER CODE =1
013873,000429: 15,2361 32424 CA LDNCDUGO
013874,000430: 15,2362 55401 TS DNTMGOTO # SET DNTMGOTO FOR NEXT CDUY,Z DOWN TM PAS
013875,000431: 15,2363 31404 CA DNCDUN # INITIALIZE DOWN CDUY,Z COUNTER
013876,000432: # START CODING FOR MODULE 3 REMAKE, AUGUST 1967***START CODING FOR MODULE 3 REMAKE, AUGUST 1967******************
013877,000433:
013878,000434: 15,2364 13707 TCF 15INSRT # TERMINATE GIMBAL DRIVES, IF ANY.
013879,000435:
013880,000436: # **END CODING FOR MODULE 3 REMAKE, AUGUST 1967*****END CODING FOR MODULE 3 REMAKE, AUGUST 1967******************
013881,000437:
013882,000438: 15,2365 37763 DNCDUSGO CA ONE # ENTER HERE THE THIRD TIME, & AFTER.
013883,000439: 15,2366 54061 +1 TS ITEMP1 # SET UP INDEX FOR CDU ERROR CHECK.
013884,000440: 15,2367 50000 INDEX A
013885,000441: 15,2370 30767 CA CDUYD # PICK UP CDUD FOR COMPARISON WITH CDU.
013886,000442: 15,2371 00006 EXTEND
013887,000443: 15,2372 50061 INDEX ITEMP1
013888,000444: 15,2373 20033 MSU CDUY # GET DIFFERENCE BETWEEN ACTUAL CDU & CDUD
013889,000445: 15,2374 00006 EXTEND
013890,000446: 15,2375 62377 BZMF +2 # GET NEG OF ABSOLUTE MAG OF DIFFERENCE
013891,000447: 15,2376 40000 COM
013892,000448: 15,2377 61405 AD CDULMIT # COMPARE DIFFERENCE WITH ALLOWED MAXIMUM.
013893,000449: 15,2400 00006 EXTEND
013894,000450: 15,2401 62413 BZMF DNCDUEND # IF ERROR IS TOO BIG, RESTORE DAP NOW.
013895,000451:
013896,000452: 15,2402 10061 CCS ITEMP1 # IS CHECK COMPLETE?
013897,000453: 15,2403 12366 TCF DNCDUSGO +1 # NO. GO CHECK CDUY.
013898,000454:
013899,000455: 15,2404 11403 CCS DNCDUCNT # YES. ARE WE THRU SENDING CDU'S?
013900,000456: 15,2405 12407 TCF +2 # NO.
013901,000457: 15,2406 12413 TCF DNCDUEND # YES.
013902,000458:
013903,000459: 15,2407 55403 TS DNCDUCNT
013904,000460: 15,2410 00006 FETCHCDU EXTEND
013905,000461: 15,2411 30034 DCA CDUY # PICK UP CDUY AND CDUZ
013906,000462: 15,2412 12140 TCF DNTMEXIT # GO SEND THEM
013907,000463:
013908,000464: 15,2413 31346 DNCDUEND CA OLDDVSEL
013909,000465: 15,2414 55310 TS DVSELECT
013910,000466:
013911,000467: 15,2415 40077 CS DAPBOOLS # RESTORE GODAPGO TO TURN DAP BACK ON.
013912,000468: 15,2416 77751 MASK GODAPGO
013913,000469: 15,2417 26077 ADS DAPBOOLS
013914,000470:
![]() |
Page 339 |
013916,000472: 15,2420 32423 CA LDNFAZE1 # REESTABLISH THE NORMAL DOWNLIST.
013917,000473: 15,2421 55401 TS DNTMGOTO
013918,000474:
013919,000475: 15,2422 12410 TCF FETCHCDU # SEND THE FINAL CDU PAIR.
013920,000476:
013921,000477: 15,2423 02006 LDNFAZE1 ADRES DNPHASE1
013922,000478: 15,2424 02365 LDNCDUGO ADRES DNCDUSGO
End of include-file DOWN_TELEMETRY_PROGRAM.agc. Parent file is MAIN.agc