Source Code
![]() |
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Peter McDermott.
A team of volunteers performed the transcription and proof-reading. The scanned
page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: YUL SYSTEM FOR AGC: NEW PROGRAM SHEPATIN BY EYLES DEC 13, 1966 THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 OF PROGRAM SUNBURST BY LEM GROUPNote that the date is the date of the printout, not the date of the program revision. |
013222,000002: ## Copyright: Public domain.
013223,000003: ## Filename: DOWN-TELEMETRY_PROGRAM.agc
013224,000004: ## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
013225,000005: ## It is part of an early development version of the software
013226,000006: ## for Apollo Guidance Computer (AGC) on the unmanned Lunar
013227,000007: ## Module (LM) flight Apollo 5. Sunburst 37 was the program
013228,000008: ## upon which Don Eyles's offline development program Shepatin
013229,000009: ## was based; the listing herein transcribed was actually for
013230,000010: ## the equivalent revision 0 of Shepatin.
013231,000011: ## This file is intended to be a faithful transcription, except
013232,000012: ## that the code format has been changed to conform to the
013233,000013: ## requirements of the yaYUL assembler rather than the
013234,000014: ## original YUL assembler.
013235,000015: ## Reference: pp. 311-321
013236,000016: ## Assembler: yaYUL
013237,000017: ## Contact: Ron Burkey <info@sandroid.org>.
013238,000018: ## Website: www.ibiblio.org/apollo/index.html
013239,000019: ## Mod history: 2017-05-24 MAS Created from Sunburst 120.
013240,000020: ## 2017-06-04 HG Transcribed
013241,000021: ## 2017-06-22 RSB Proofed comment text with
013242,000022: ## octopus/ProoferComments.
013243,000023:
![]() |
Page 311 |
013245,000025: # PROGRAM NAME- DOWN TELEMETRY PROGRAM
013246,000026: # MOD NO.- 2
013247,000027: # MOD BY- KILROY
013248,000028: # DATE- 21NOV66
013249,000029: # LOG SECTION- DOWN TELEMETRY PROGRAM
013250,000030: # ASSEMBLY- REV 12 OF SUNBURST
013251,000031: # FUNCTIONAL DESCRIPTION- THIS ROUTINE IS INITIATED BY TELEMETRY END
013252,000032: # PULSE FROM THE DOWNLINK TELEMETRY CONVERTER. THIS PULSE OCCURS
013253,000033: # AT 50 TIMES PER SEC(EVERY 20 MS) THEREFORE DODOWNTM IS
013254,000034: # EXECUTED AT THESE RATES. THIS ROUTINE SELECTS THE APPROPRIATE
013255,000035: # LGC DATA TO BE TRANSMITTED DOWNLINK AND LOADS IT INTO OUTPUT
013256,000036: # CHANNELS 34 AND 35. THE INFORMATION IS THEN GATED OUT FROM THE
013257,000037: # LGC IN SERIAL FASHION.
013258,000038: # THIS PROGRAM IS CODED FOR A 2 SECOND DOWNLIST. SINCE DOWNRUPTS
013259,000039: # OCCUR EVERY 20 MS AND 2 LGC COMPUTER WORDS CAN BE PLACED IN
013260,000040: # CHANNELS 34 AND 35 DURING EACH DOWNRUPT THE PROGRAM IS CAPABLE
013261,000041: # OF SENDING 200 LGC WORDS EVERY 2 SECONDS.
013262,000042: # CALLING SEQUENCE- NONE
013263,000043: # PROGRAM IS ENTERED VIA TCF DODOWNTM WHICH IS EXECUTED AS A
013264,000044: # RESULT OF A DOWNRUPT. CONTROL IS RETURNED VIA TCF NOQRSM WHICH
013265,000045:
013266,000046: # IN EFFECT IS A RESUME.
013267,000047: # SUBROUTINES CALLED- NONE
013268,000048: # NORMAL EXIT MODE- TCF NOQRSM
013269,000049: # ALARM OR ABORT EXIT MODE- NONE
013270,000050: # RESTART PROTECTION- NONE.
013271,000051: # EXCEPT THAT WHEN A RESTART DOES OCCUR :STARTSUB: WILL
013272,000052: # INITIALIZE THE DOWNLIST POINTER TO THE BEGINNING OF THE NOMINAL
013273,000053: # DOWNLIST. THIS HAS THE EFFECT OF IGNORING THE REMAINDER OF THE
013274,000054: # DOWNLIST WHICH THE DOWN-TELEMETRY PROGRAM WAS WORKING ON WHEN
013275,000055: # THE RESTART OCCURRED.
013276,000056: # OUTPUT- EVERY 2 SECONDS 100 DOUBLE PRECISION WORDS(I.E. 200 LGC
013277,000057: # COMPUTER WORDS) ARE TRANSMITTED VIA DOWNLINK.
013278,000058: # ERASABLE INITIALIZATION REQUIRED- NONE
013279,000059: # DNTMGOTO,DNLSTADR AND EBANK ARE INITIALIZED IN STARTSUB(FRESH
013280,000060: # START AND RESTART)
013281,000061: # DEBRIS (ERASABLE LOCATIONS DESTROYED BY THIS PROGRAM)-
013282,000062: # LDATALST,ITEMP1,ITEMP2,DNTMBUFF TO DNTMBUFF + 21D,TMINDEX,DNQ
013283,000063:
013284,000064:
013285,000065: 15,2000 BANK 15
013286,000066: 15,2000 E7,1404 EBANK= DNTMBUFF
013287,000067:
013288,000068: 15,2000 ERASZERO EQUALS 7
013289,000069: 15,2000 0000007 DMYECADR EQUALS ERASZERO # USE DMYECADR TO GENERATE A DUMMY ECADR
013290,000070: 15,2000 0000007 DMYADRES EQUALS ERASZERO # USE DMYADRES TO GENERATE A DUMMY ADRES
013291,000071: 15,2000 0000007 UNKNOWN EQUALS ERASZERO # USE UNKNOWN WHEN THE MNEMONIC IS UNKNOWN
013292,000072: 15,2000 0000007 SPARE EQUALS ERASZERO # USE SPARE TO INDICATE AVAILABLE SPACE
013293,000073:
013294,000074: 15,2000 00437 LOWIDCOD OCT 00437
013295,000075:
![]() |
Page 312 |
013297,000077: # SPECIAL DOWNLIST FOR AGS INITIALIZATION. AGSLIST MUST RESIDE IN
013298,000078: # LOCATION 2001 OF DOWNLINK EBANK.
013299,000079:
013300,000080: # AGSLIST IS NOT REQUIRED FOR AS206 BUT IS INSERTED IN SUNBURST TO
013301,000081: # RESERVE SPACE FOR IT IN 207/8 AND FUTURE MISSIONS.
013302,000082:
013303,000083: 15,2001 AGSLIST EQUALS
013304,000084: # -------------DOUBLE PRECISION - ANY EBANK (GROUP 2)---------------------
013305,000085: 15,2001 00007 ECADR DMYECADR
013306,000086: 15,2002 00007 ECADR DMYECADR
013307,000087: 15,2003 00007 ECADR DMYECADR
013308,000088: 15,2004 00007 ECADR DMYECADR
013309,000089: 15,2005 00007 ECADR DMYECADR
013310,000090: 15,2006 00007 ECADR DMYECADR
013311,000091: 15,2007 00007 ECADR DMYECADR
013312,000092: 15,2010 00007 ECADR DMYECADR
013313,000093: 15,2011 00007 ECADR DMYECADR
013314,000094: 15,2012 00007 ECADR DMYECADR
013315,000095: 15,2013 00007 ECADR DMYECADR
013316,000096: 15,2014 00007 ECADR DMYECADR
013317,000097: 15,2015 00007 ECADR DMYECADR
013318,000098: 15,2016 00007 ECADR DMYECADR
013319,000099: 15,2017 00007 ECADR DMYECADR
013320,000100: 15,2020 00007 ECADR DMYECADR
013321,000101: 15,2021 00007 ECADR DMYECADR
013322,000102: 15,2022 00007 ECADR DMYECADR
013323,000103:
013324,000104: 15,2023 00007 ECADR DMYECADR
013325,000105: 15,2024 00007 ECADR DMYECADR
013326,000106: 15,2025 00007 ECADR DMYECADR
013327,000107: 15,2026 00007 ECADR DMYECADR
013328,000108: 15,2027 00007 ECADR DMYECADR
013329,000109: 15,2030 00007 ECADR DMYECADR
013330,000110: 15,2031 00007 ECADR DMYECADR
013331,000111: 15,2032 00007 ECADR DMYECADR
013332,000112: 15,2033 00007 ECADR DMYECADR
013333,000113: # ----SNAPSHOT DP WORDS FROM EBANK E7 OR UNSWITCHABLE ERASABLE(GROUP 2)---
013334,000114: 15,2034 00007 ADRES DMYADRES
013335,000115: 15,2035 00007 ADRES DMYADRES
013336,000116: 15,2036 00007 ADRES DMYADRES
013337,000117: 15,2037 00007 ADRES DMYADRES
013338,000118: 15,2040 00007 ADRES DMYADRES
013339,000119: 15,2041 00007 ADRES DMYADRES
013340,000120: 15,2042 00007 ADRES DMYADRES
013341,000121: 15,2043 00007 ADRES DMYADRES
013342,000122: 15,2044 00007 ADRES DMYADRES
013343,000123: 15,2045 00007 ADRES DMYADRES
013344,000124: 15,2046 00007 ADRES DMYADRES
013345,000125: 15,2047 00007 ADRES DMYADRES
013346,000126: # -------------DOUBLE PRECISION - ANY EBANK (GROUP 1)--------------------
013347,000127:
013348,000128: 15,2050 00007 ECADR DMYECADR
013349,000129: 15,2051 00007 ECADR DMYECADR
013350,000130:
![]() |
Page 313 |
013352,000132: 15,2052 00007 ECADR DMYECADR
013353,000133: 15,2053 00007 ECADR DMYECADR
013354,000134: 15,2054 00007 ECADR DMYECADR
013355,000135: 15,2055 00007 ECADR DMYECADR
013356,000136: 15,2056 00007 ECADR DMYECADR
013357,000137: 15,2057 00007 ECADR DMYECADR
013358,000138: 15,2060 00007 ECADR DMYECADR
013359,000139: 15,2061 00007 ECADR DMYECADR
013360,000140:
013361,000141: 15,2062 00007 ECADR DMYECADR
013362,000142: 15,2063 00007 ECADR DMYECADR
013363,000143: 15,2064 00007 ECADR DMYECADR
013364,000144: 15,2065 00007 ECADR DMYECADR
013365,000145: 15,2066 00007 ECADR DMYECADR
013366,000146: 15,2067 00007 ECADR DMYECADR
013367,000147: 15,2070 00007 ECADR DMYECADR
013368,000148: 15,2071 00007 ECADR DMYECADR
013369,000149: 15,2072 00007 ECADR DMYECADR
013370,000150: 15,2073 00007 ECADR DMYECADR
013371,000151: 15,2074 00007 ECADR DMYECADR
013372,000152: 15,2075 00007 ECADR DMYECADR
013373,000153: 15,2076 00007 ECADR DMYECADR
013374,000154: 15,2077 00007 ECADR DMYECADR
013375,000155: 15,2100 00007 ECADR DMYECADR
013376,000156: 15,2101 00007 ECADR DMYECADR
013377,000157: 15,2102 00007 ECADR DMYECADR
013378,000158: # ----SNAPSHOT DP WORDS FROM EBANK E7 OR UNSWITCHABLE ERASABLE(GROUP 1)---
013379,000159: 15,2103 00007 ADRES DMYADRES
013380,000160: 15,2104 00007 ADRES DMYADRES
013381,000161: 15,2105 00007 ADRES DMYADRES
013382,000162: 15,2106 00007 ADRES DMYADRES
013383,000163: 15,2107 00007 ADRES DMYADRES
013384,000164:
013385,000165: 15,2110 00007 ADRES DMYADRES
013386,000166: 15,2111 00007 ADRES DMYADRES
013387,000167: 15,2112 00007 ADRES DMYADRES
013388,000168: 15,2113 00007 ADRES DMYADRES
013389,000169: 15,2114 00007 ADRES DMYADRES
013390,000170: 15,2115 00007 ADRES DMYADRES
013391,000171: 15,2116 00007 ADRES DMYADRES
013392,000172:
013393,000173: # SPECIAL DATA LIST FOR HIGH SPEED RADAR SAMPLING.
013394,000174: 15,2117 15,2001 UPDNLIST EQUALS AGSLIST
013395,000175:
![]() |
Page 314 |
013397,000177:
013398,000178: # DODOWNTM IS ENTERED EVERY 20 MS BY AN INTERRUPT TRIGGERED BY THE
013399,000179: # RECEIPT OF AN ENDPULSE FROM THE SPACECRAFT TELEMETRY PROGRAMMER.
013400,000180:
013401,000181: # THE ORGANIZATION OF THE PROGRAM IS AS FOLLOWS......
013402,000182: # 1. A MAIN PROGRAM(DODOWNTM) WHICH CONTROLS A SERIES OF SUBROUTINES.
013403,000183: # 2. SUBROUTINES(SENDID,SENDSNAP ETC.) WHICH ARE DESIGNED TO HANDLE
013404,000184: # SPECIFIC PORTIONS OF THE DOWNLIST.
013405,000185: # 3. :EQUALS: CARDS(NDP1, NDP2, LINCR) WHICH DEFINE NO. OF ITEMS IN THE
013406,000186: # PORTIONS OF THE DOWNLISTS.
013407,000187: # 4. DOWNLISTS. - DOWNLISTS MUST BE COMPILED IN THE SAME BANK AS THE
013408,000188: # DOWN-TELEMETRY PROGRAM. THIS IS DONE FOR EASE OF CODING, FASTER
013409,000189: # EXECUTION AND TO INSURE THAT THE DOWNLIST ID:S(FIRST WORD OF EACH
013410,000190: # 2 SEC DOWNLIST.) ARE UNIQUE. THE LOCATION OF THE AGS DOWNLIST MUST BE
013411,000191: # 2001 OF THE FBANK IN WHICH THE DOWN-TELEMETRY PROGRAM RESIDES.
013412,000192:
013413,000193: # (I.E. AGSLIST = XX,2001). THIS WILL MAKE THE ID WORD FOR THE AGS
013414,000194: # DOWNLINK DATA = 00001.
013415,000195:
013416,000196:
013417,000197: 15,2117 54016 DODOWNTM TS BANKRUPT
013418,000198: 15,2120 00006 EXTEND
013419,000199: 15,2121 22012 QXCH QRUPT
013420,000200: 15,2122 51401 INDEX DNTMGOTO # GO TO APPROPRIATE
013421,000201: 15,2123 10000 TCF 0 # TELEMETRY PHASE
013422,000202: 15,2124 02150 DNPHASE1 TC SENDID # SEND ID WORD(S)
013423,000203: 15,2125 37747 CAF BIT7 # SET WORD ORDER
013424,000204: 15,2126 00006 EXTEND # BACK TO 1 FOR
013425,000205: 15,2127 05013 WOR 13 # REMAINDER OF CYCLE
013426,000206: 15,2130 32353 CA DNLINCR # CALCULATE ADDRESS OF
013427,000207: 15,2131 27400 ADS LDATALST # SNAPSHOT WORDS TO BE SENT (GROUP 1)
013428,000208: 15,2132 02164 TC SNAPSHOT # SAVE AND SEND SNAPSHOT WORDS (GROUP 1)
013429,000209: 15,2133 32351 CA DNDP1-1 # PLACE NO. OF DP WORDS IN GROUP 1 INTO A
013430,000210: 15,2134 02234 TC SENDDP # SEND DOUBLE PRECISION WORDS (GROUP 1)
013431,000211: 15,2135 02270 TC SENDCH # SEND CHANNELS 11-14 AND 31-33
013432,000212: 15,2136 02324 TC SENDDSTB # SEND DISPLAY TABLES
013433,000213: 15,2137 02344 TC SENDTIME # SEND TIME1 AND TIME2
013434,000214: 15,2140 42230 CS DNSNAP # CALCULATE ADDRESS OF
013435,000215: 15,2141 27400 ADS LDATALST # SNAPSHOT WORDS TO BE SENT(GROUP 2)
013436,000216:
013437,000217: 15,2142 02164 TC SNAPSHOT # SAVE AND SEND SNAPSHOT WORDS (GROUP 2)
013438,000218: 15,2143 32352 CA DNDP2-1 # PLACE NO. OF DP WORDS IN GROUP 2
013439,000219: 15,2144 02234 TC SENDDP # SEND DOUBLE PRECISION WORDS(GROUP 2)
013440,000220: 15,2145 02270 TC SENDCH # SEND CHANNELS 11-14 AND 31-33
013441,000221: 15,2146 02324 TC SENDDSTB # SEND DISPLAY TABLE
013442,000222: 15,2147 12124 TCF DNPHASE1 # GO BACK AND START OVER
013443,000223:
013444,000224:
013445,000225: # ........................................................................
013446,000226: 15,2150 30411 SENDID CA DNLSTADR # INITIALIZE DOWNLIST ADDRESS AS SELECTED
013447,000227: 15,2151 55400 TS LDATALST # BY A MISSION OR TEST PROGRAM
013448,000228: 15,2152 75356 MASK LOW10 # ISOLATE RELATIVE LOC OF DOWNLIST IN THIS
013449,000229: 15,2153 00006 EXTEND # FIXED BANK. RESULT = 0000 - 1777. NO
013450,000230:
![]() |
Page 315 |
013452,000232: # CONFLICT OF DUPLICATE ID WORDS CAN OCCUR
013453,000233: 15,2154 01034 WRITE DNTM1 # SEND FIRST ID WORD.
013454,000234: 15,2155 47747 CS BIT7 # SET WORD
013455,000235: 15,2156 00006 EXTEND # ORDER BIT 7 IN
013456,000236: 15,2157 03013 WAND 13 # CHANNEL 13 TO 0.
013457,000237: 15,2160 00006 EXTEND # SET UP DNTMGOTO SO NEXT ENTRY TO
013458,000238: 15,2161 23401 QXCH DNTMGOTO # DODOWNTM WILL TRANSFER CONTROL TO
013459,000239: # THE INSTRUCTION AFTER TC SENDID.
013460,000240: 15,2162 32000 CAF LOWIDCOD # PLACE SPECIAL ID CODE IN A.
013461,000241: 15,2163 12261 TCF TMEXITL # GO SEND SPECIAL ID CODE.
013462,000242:
013463,000243:
013464,000244: # ........................................................................
013465,000245: 15,2164 00006 SNAPSHOT EXTEND
013466,000246: 15,2165 23403 QXCH DNQ # SAVE RETURN ADDRESS
013467,000247: 15,2166 37761 CAF ZERO # INITIALIZE THE
013468,000248: 15,2167 54061 TS ITEMP1 # DNTMBUFF INCREMENTER(ITEMP1) TO ZERO.
013469,000249: 15,2170 32232 CAF DNSNAP-2 # INITIALIZE LOOP COUNTER(ITEMP2) TO
013470,000250: 15,2171 54062 SNAPLOOP TS ITEMP2 # TOTAL NO. OF SNAPSHOT DP WORDS LESS 2.
013471,000251:
013472,000252: 15,2172 61400 AD LDATALST # CALCULATE ADDRESS OF NEXT
013473,000253: 15,2173 00006 EXTEND # ENTRY IN DOWNLIST.
013474,000254: 15,2174 50000 INDEX A # PICK UP THE DOUBLE PRECISION WORD FROM
013475,000255: 15,2175 50000 INDEX 0 # THE NEXT ENTRY
013476,000256: 15,2176 30001 DCA 0 # IN THE DOWNLIST.
013477,000257: 15,2177 50061 INDEX ITEMP1 # AND SAVE IT IN THE NEXT AVAILABLE LOC
013478,000258: 15,2200 53405 DXCH DNTMBUFF # IN DNTMBUFF SNAPSHOT BUFFER.
013479,000259: 15,2201 37754 CAF TWO # INCREMENT DNTMBUFF INCREMENTER(ITEMP1)
013480,000260: 15,2202 26061 ADS ITEMP1 # BY 2.
013481,000261: 15,2203 10062 CCS ITEMP2 # HAVE ALL SNAPSHOT DP WORDS BEEN SAVED...
013482,000262: 15,2204 12171 TCF SNAPLOOP # NO--GO BACK AND CONTINUE SAVING THEM
013483,000263: 15,2205 32231 CAF DNSNAP-1 # YES--PLACE NO. OF DP WORDS REMAINING
013484,000264: 15,2206 55402 TS TMINDEX # TO BE SENT INTO TMINDEX.
013485,000265: 15,2207 32233 CAF LSENDSNP # SET UP DNTMGOTO SO PROGRAM CONTROL WILL
013486,000266: 15,2210 55401 TS DNTMGOTO # BE TRANSFERRED TO SENDSNAP ON NEXT
013487,000267: # ENTRY TO DODOWNTM.
013488,000268: 15,2211 00006 EXTEND # PICK UP FIRST DP SNAPSHOT WORD
013489,000269: 15,2212 51400 INDEX LDATALST # AND PLACE IT IN A + L.
013490,000270: 15,2213 50013 INDEX NSNAP -1 # (((THIS ADDITIONAL CODING ALTHOUGH A BIT
013491,000271: 15,2214 30001 DCA 0 # SUPERFLUOUS IS JUSTIFIED BECAUSE IT
013492,000272: # SAVES 2 WORDS OF ERASABLE STORAGE)))
013493,000273: 15,2215 12256 TCF DNTMEXIT # GO SEND FIRST SNAPSHOT DP ENTRY.
013494,000274: 15,2216 11402 SENDSNAP CCS TMINDEX # ANY SNAPSHOT WORDS LEFT IN BUFFER
013495,000275:
013496,000276: 15,2217 12221 TCF +2 # YES--GO PROCESS THEM
013497,000277: 15,2220 01403 TC DNQ # NO--RETURN TO INSTRUCTION AFTER
013498,000278: # TC SNAPSHOT.
013499,000279: 15,2221 55402 TS TMINDEX # SAVE COUNT OF SNAPSHOT WORDS REMAINING
013500,000280: 15,2222 60000 DOUBLE # CALCULATE DECREMENTER
013501,000281: 15,2223 40000 COM # FOR NEXT DP WORD IN
013502,000282: 15,2224 00006 EXTEND # BUFFER.
013503,000283: 15,2225 50000 INDEX A
013504,000284:
![]() |
Page 316 |
013506,000286: 15,2226 31431 DCA DNTMBUFF +20D # TAKE NEXT DP WORD OUT OF BUFFER, PLACE
013507,000287: 15,2227 12256 TCF DNTMEXIT # IT INTO A + L AND GO SEND IT.
013508,000288:
013509,000289: 15,2230 NSNAP EQUALS 12D # NUMBER OF DP SNAPSHOT WORDS.
013510,000290: 15,2230 00014 DNSNAP ADRES NSNAP # NO. OF DP SNAPSHOT WORDS CONSTANT
013511,000291: 15,2231 00013 DNSNAP-1 ADRES NSNAP -1 # NO. OF DP SNAPSHOT WORDS -1 CONSTANT
013512,000292: 15,2232 00012 DNSNAP-2 ADRES NSNAP -2 # NO. OF DP SNAPSHOT WORDS -2 CONSTANT
013513,000293: 15,2233 02216 LSENDSNP ADRES SENDSNAP # LOC OF ROUTINE WHICH SENDS SNAPSHOT BUFF
013514,000294:
013515,000295:
013516,000296: # ........................................................................
013517,000297: 15,2234 00006 SENDDP EXTEND # ENTER WITH NO. DP WORDS REMAINING TO
013518,000298: 15,2235 23403 QXCH DNQ # BE SENT IN A. SAVE RETURN ADDRESS.
013519,000299: 15,2236 55402 TS TMINDEX # PLACE NO. OF DP WORDS TO BE SENT AFTER
013520,000300: 15,2237 67755 AD ONE # THIS ONE INTO TMINDEX. CALCULATE NEXT
013521,000301: 15,2240 40000 COM # LOCATION IN DOWNLIST AND SAVE
013522,000302: 15,2241 27400 ADS LDATALST # IT IN LDATALST.
013523,000303: 15,2242 32267 CAF LSENDDPA # SET UP DNTMGOTO SO PROGRAM CONTROL WILL
013524,000304: 15,2243 55401 TS DNTMGOTO # GO TO SENDDPA ON NEXT ENTRY TO DODOWNTM.
013525,000305: 15,2244 31402 CAE TMINDEX # PLACE NO. OF WORDS REMAINING TO BE SENT
013526,000306: 15,2245 55402 SENDDPB TS TMINDEX # INTO A. SAVE NO. DP WORDS TO BE SENT.
013527,000307: 15,2246 61400 AD LDATALST # CALCULATE NEXT DOWNLIST ENTRY.
013528,000308: 15,2247 50000 INDEX A
013529,000309: 15,2250 30000 CA 0 # PICK UP ECADR OF NEXT DOWNLIST ENTRY.
013530,000310: 15,2251 54003 TS EBANK # SET EBANK.
013531,000311: 15,2252 74553 MASK LOW8 # ISOLATE RELATIVE ADDRESS.
013532,000312:
013533,000313: 15,2253 00006 EXTEND
013534,000314: 15,2254 50000 INDEX A # PICK UP DOUBLE PRECISION
013535,000315: 15,2255 31401 DCA 3400 # WORD INTO A + L. (DCA 3400 = DCA 1400)
013536,000316:
013537,000317: 15,2256 00006 DNTMEXIT EXTEND # GENERAL DOWN-TELEMETRY EXIT
013538,000318: 15,2257 01034 WRITE DNTM1 # TO SEND A + L TO CHANNELS 34 + 35
013539,000319: 15,2260 30001 CA L # RESPECTIVELY.
013540,000320:
013541,000321: 15,2261 00006 TMEXITL EXTEND # ALTERNATE DOWN TELEMETRY EXIT
013542,000322: 15,2262 01035 WRITE DNTM2 # TO SEND A TO CHANNEL 35.
013543,000323: 15,2263 15751 TCF RESUME # EXIT DOWN TELEMETRY PROG VIA RESUME.
013544,000324:
013545,000325: 15,2264 11402 SENDDPA CCS TMINDEX # ANY DP WORDS REMAINING TO BE SENT.
013546,000326: 15,2265 12245 TCF SENDDPB # YES--GO SEND THEM.
013547,000327: 15,2266 01403 TC DNQ # RETURN TO INSTR AFTER TC SENDDP.
013548,000328: 15,2267 02264 LSENDDPA ADRES SENDDPA # LOC OF ROUTINE WHICH SENDS DP WORDS.
013549,000329:
013550,000330:
013551,000331: # ........................................................................
013552,000332: 15,2270 00006 SENDCH EXTEND
013553,000333: 15,2271 23403 QXCH DNQ # SAVE RETURN ADDRESS
013554,000334: 15,2272 32313 CAF LSENDCHA # SET UP DNTMGOTO SO PROG CONTROL WILL GO
013555,000335: 15,2273 55401 TS DNTMGOTO # TO SENDCHA ON NEXT ENTRY TO DODOWNTM.
013556,000336:
013557,000337: 15,2274 36301 CAF THREE # PLACE NO. OF PAIRS OF CHANNELS TO BE
013558,000338:
013559,000339: # SENT AFTER THIS PAIR INTO A.
![]() |
Page 317 |
013561,000341: 15,2275 55402 SENDCHB TS TMINDEX # SAVE NO. OF PAIRS OF CHANNELS REMAINING
013562,000342: 15,2276 00006 EXTEND # TO BE SENT INTO A. PICK UP CHANNEL
013563,000343: 15,2277 50000 INDEX A # ADDRESS FROM
013564,000344: 15,2300 52320 INDEX FIXLSTCL # NEXT ENTRY IN FIXLSTCL.
013565,000345: 15,2301 00000 READ 0 # PLACE CONTENTS OF THE
013566,000346: 15,2302 54001 TS L # CHANNEL INTO L.
013567,000347: 15,2303 00006 EXTEND # PICK UP NEXT CHANNEL
013568,000348: 15,2304 51402 INDEX TMINDEX # ADDRESS FROM NEXT ENTRY
013569,000349:
013570,000350: 15,2305 52314 INDEX FIXLSTCA # IN FIXLSTCA.
013571,000351: 15,2306 00000 READ 0 # PLACE CONTENTS OF CHANNEL INTO A.
013572,000352: 15,2307 12256 TCF DNTMEXIT # NOW GO SEND A + L.
013573,000353: 15,2310 11402 SENDCHA CCS TMINDEX # ANY MORE CHANNEL PAIRS TO BE SENT......
013574,000354: 15,2311 12275 TCF SENDCHB # YES--GO SEND THEM.
013575,000355: 15,2312 01403 TC DNQ # NO--RETURN TO INSTR AFTER TC SENDCH.
013576,000356: 15,2313 02310 LSENDCHA ADRES SENDCHA # LOCATION OF ROUTINE WHICH SENDS CHANNELS
013577,000357: 15,2314 00032 FIXLSTCA OCT 32 # CHANNEL 32
013578,000358: 15,2315 00030 OCT 30 # CHANNEL 30
013579,000359: 15,2316 00013 OCT 13 # CHANNEL 13
013580,000360: 15,2317 00011 OCT 11 # CHANNEL 11
013581,000361: 15,2320 00033 FIXLSTCL OCT 33 # CHANNEL 33
013582,000362: 15,2321 00031 OCT 31 # CHANNEL 31
013583,000363: 15,2322 00014 OCT 14 # CHANNEL 14
013584,000364: 15,2323 00012 OCT 12 # CHANNEL 12
013585,000365:
013586,000366:
013587,000367: # ........................................................................
013588,000368: 15,2324 00006 SENDDSTB EXTEND
013589,000369: 15,2325 23403 QXCH DNQ # SAVE RETURN ADDRESS
013590,000370: 15,2326 32343 CAF LSENDDSA # SET UP DNTMGOTO SO PROGRAM CONTROL WILL
013591,000371: 15,2327 55401 TS DNTMGOTO # GO TO SENDDSA ON NEXT ENTRY TO DODOWNTM.
013592,000372: 15,2330 37760 CAF FIVE # PLACE NO. OF PAIRS OF DSPTAB WORDS REM
013593,000373:
013594,000374: 15,2331 55402 SENDDSB TS TMINDEX # AFTER THIS PAIR INTO A. SAVE NO. REMAIN-
013595,000375: 15,2332 60000 DOUBLE # ING INTO TMINDEX. CALCULATE DECREMENTER
013596,000376: 15,2333 40000 COM # FOR NEXT PAIR OF WORDS(SP)
013597,000377: 15,2334 00006 EXTEND # IN DSPTAB.
013598,000378: 15,2335 50000 INDEX A # PICK UP PAIR OF DSPTAB WORDS(SP) AND
013599,000379: 15,2336 30326 DCA DSPTAB +10D # LEAVE THEM IN A + L.
013600,000380: 15,2337 12256 TCF DNTMEXIT # NOW GO SEND A + L.
013601,000381: 15,2340 11402 SENDDSA CCS TMINDEX # ANY WORDS LEFT IN DSPTAB TO BE SENT.....
013602,000382: 15,2341 12331 TCF SENDDSB # YES--GO SEND THEM
013603,000383: 15,2342 01403 TC DNQ # NO--RETURN TO INSTR AFTER TC SENDDSTB.
013604,000384: 15,2343 02340 LSENDDSA ADRES SENDDSA # LOC OF ROUTINE WHICH SENDS DISPLAY TABLE
013605,000385:
013606,000386:
013607,000387: # ........................................................................
013608,000388: 15,2344 00006 SENDTIME EXTEND # SET DP DNTMGOTO SO PROGRAM CONTROL WILL
013609,000389: 15,2345 23401 QXCH DNTMGOTO # GO TO INSTRUCTION AFTER TC SENDTIME.
013610,000390: 15,2346 00006 EXTEND
013611,000391: 15,2347 30025 DCA TIME2 # PLACE TIME2 AND TIME1 INTO A AND L.
013612,000392: 15,2350 12256 TCF DNTMEXIT # NOW GO SEND A AND L.
013613,000393:
![]() |
Page 318 |
013615,000395: # ........................................................................
013616,000396: 15,2351 00032 DNDP1-1 ADRES NDP1 -1 # NO. OF DP WORDS IN GROUP 1 LESS 1
013617,000397: 15,2352 00032 DNDP2-1 ADRES NDP2 -1 # NO. OF DP WORDS IN GROUP 2 LESS 1
013618,000398: 15,2353 00102 DNLINCR ADRES LINCR # RELATIVE LOC OF FIRST GROUP IN DOWNLIST.
013619,000399: # ........................................................................
013620,000400: # ************************************************************************
013621,000401: # CHANGE THE FOLLOWING 3 EQUALS CARDS WHEN MODIFYING THE STRUCTURE OF THE
013622,000402: # DOWNLISTS.
013623,000403: 15,2354 NDP1 EQUALS 27D # NUMBER OF DP WORDS (GROUP 1)
013624,000404: 15,2354 NDP2 EQUALS 27D # NUMBER OF DP WORDS (GROUP 2)
013625,000405: 15,2354 LINCR EQUALS 66D # LINCR = NDP1 + NDP2 + 12D
013626,000406: # ************************************************************************
013627,000407:
![]() |
Page 319 |
013629,000409: # NOMINAL SUNBURST (AS206) 2 SECOND DOWNLIST
013630,000410: # AS OF DATE = 29NOV66
013631,000411:
013632,000412: # # IN COLUMN 80 INDICATES THE REQUIRED DATA IS NOT AVAILABLE THROUGHOUT
013633,000413: # THE ENTIRE MISSION IN THE SANE REGISTERS WITH THE SAME SCALING FACTORS
013634,000414: # THESE CONFLICTS MUST BE RESOLVED.
013635,000415:
013636,000416: # LAST ENTRY IN DOWNLIST WILL BE SENT FIRST, THEN LAST ENTRY - 1 ETC.----
013637,000417: 15,2354 NOMDNLST EQUALS
013638,000418: # ----------------------DISPLAY TABLES------------------------------------
013639,000419: # DSPTAB +10D AND DSPTAB +11D
013640,000420: # DSPTAB +8D AND DSPTAB +9D
013641,000421: # DSPTAB +6 AND DSPTAB +7
013642,000422: # DSPTAB +4 AND DSPTAB +5
013643,000423: # DSPTAB +2 AND DSPTAB +3
013644,000424: # DSPTAB AND DSPTAB +1
013645,000425: # -----------------------CHANNELS----------------------------------------
013646,000426: # CHANNELS 32 AND 33
013647,000427: # CHANNELS 30 AND 31
013648,000428: # CHANNELS 13 AND 14
013649,000429:
013650,000430: # CHANNELS 11 AND 12
013651,000431: # -------------DOUBLE PRECISION - ANY EBANK (GROUP 2)-------------------
013652,000432: 15,2354 00076 ECADR STATE +2 # (FLAGWRD2,DAPBOOLS) FLAGWORDS
013653,000433: 15,2355 00074 ECADR STATE # (STATE,FLAGWRD1) FLAGWORDS
013654,000434: 15,2356 03020 ECADR OMEGAR -1 # (GARBAGE,OMEGAR) ANGULAR RATES ABOUT THE
013655,000435: 15,2357 03016 ECADR OMEGAP # (OMEGAP,OMEGAQ) P,Q,R BODY AXES (DAP)
013656,000436: 15,2360 00033 ECADR CDUY # (CDUY,CDUZ) ACTUAL CDU:S
013657,000437: 15,2361 00031 ECADR CDUX -1 # (GARBAGE,CDUX) ACTUAL CDU:S
013658,000438: 15,2362 02345 ECADR RD +4 # APS2 DESIRED RADIUS VECTOR IN STABLE
013659,000439: 15,2363 02343 ECADR RD +2 # MEMBER CO-ORDINATES.
013660,000440: 15,2364 02341 ECADR RD # SCALED METERS X 2(-7).
013661,000441: 15,2365 02331 ECADR VDVECT +4 # APS2,DPS1 DESIRED VELOCITY VECTOR IN
013662,000442: 15,2366 02327 ECADR VDVECT +2 # STABLE MEMBER CO-ORDINATES.
013663,000443: 15,2367 02325 ECADR VDVECT # SCALED M/CS X 2(-7).
013664,000444: 15,2370 02337 ECADR VGVECT +4 # APS2,DPS1 VELOCITY TO BE GAINED SCALED
013665,000445: 15,2371 02335 ECADR VGVECT +2 # M/CS X 2(-7). IN LOCAL VERTICAL (APS2)
013666,000446: 15,2372 02333 ECADR VGVECT # OR STABLE MEMBER (DPS1).
013667,000447: 15,2373 02347 ECADR TTGO # ESTIMATED TIME TO GO IN CS(APS2,DPS1,2).
013668,000448: 15,2374 00765 ECADR PHASENUM # (PHASENUM,GARBAGE)PRESENT MISSION PHASE
013669,000449: 15,2375 01171 ECADR MTIMER2 # (MTIMER2,MTIMER1) REGISTERS CONTAINING
013670,000450: 15,2376 01167 ECADR MTIMER4 # (MTIMER4,MTIMER3) DELTA T:S OF MP:S.
013671,000451: 15,2377 01175 ECADR MPHASE2 # (MPHASE2,MPHASE1) REGISTERS CONTAINING
013672,000452: 15,2400 01173 ECADR MPHASE4 # (MPHASE4,MPHASE3) MP:S TO BE CALLED.
013673,000453:
013674,000454: 15,2401 00007 ECADR SPARE # SPARE
013675,000455: 15,2402 01142 ECADR LMPIN # (LMPIN,LMPOUT)
013676,000456: 15,2403 01140 ECADR LMPCMD +6 # OUTPUT TO LMP = REGISTERS
013677,000457: 15,2404 01136 ECADR LMPCMD +4 # CONTAINING THE
013678,000458: 15,2405 01134 ECADR LMPCMD +2 # LAST EIGHT LMP COMMANDS
013679,000459: 15,2406 01132 ECADR LMPCMD # TO BE SENT BY THE LGC.
013680,000460: # ----SNAPSHOT DP WORDS FROM EBANK E7 OR UNSWITCHABLE ERASABLE(GROUP 2)---
013681,000461:
![]() |
Page 320 |
013683,000463: 15,2407 00007 ADRES SPARE # SPARE
013684,000464: 15,2410 00007 ADRES SPARE # SPARE
013685,000465:
013686,000466: 15,2411 00007 ADRES SPARE # SPARE
013687,000467: 15,2412 00007 ADRES SPARE # SPARE
013688,000468: 15,2413 00041 ADRES PIPAZ # (PIPAZ,GARBAGE) ACTUAL Z PIP COUNTS.
013689,000469: 15,2414 00037 ADRES PIPAX # (PIPAX,PIPAY) ACTUAL X,Y PIP COUNTS.
013690,000470: 15,2415 00100 ADRES STATE +4 # (STATE +4,GARBAGE) LAMBERT FLAGS.
013691,000471: 15,2416 01364 ADRES FAILREG +1 # (FAILREG +1,+2) MULTIFAIL ALARM CODES.
013692,000472: 15,2417 01362 ADRES ERCOUNT # (ERCOUNT,FAILREG)SLFCK FAIL CTR,ALM CODE
013693,000473: 15,2420 01614 ADRES COMPTORK +4 # E)GYROCOMPASS GYRO TORQUES IN VERTICAL,
013694,000474: 15,2421 01612 ADRES COMPTORK +2 # S)SOUTH, EAST SYSTEM,ERATE NOT INCLUDED.
013695,000475: 15,2422 01610 ADRES COMPTORK # V) 37777,37777 = (1 - 2(-28))REVS.
013696,000476: # ---------------------------LGC CLOCK------------------------------------
013697,000477: # TIME2 AND TIME1
013698,000478: # ----------------------DISPLAY TABLES------------------------------------
013699,000479: # DSPTAB +10D AND DSPTAB +11D
013700,000480: # DSPTAB +8D AND DSPTAB +9D
013701,000481: # DSPTAB +6 AND DSPTAB +7
013702,000482: # DSPTAB +4 AND DSPTAB +5
013703,000483: # DSPTAB +2 AND DSPTAB +3
013704,000484: # DSPTAB AND DSPTAB +1
013705,000485: # -----------------------CHANNELS-----------------------------------------
013706,000486: # CHANNELS 32 AND 33
013707,000487: # CHANNELS 30 AND 31
013708,000488: # CHANNELS 13 AND 14
013709,000489:
013710,000490: # CHANNELS 11 AND 12
013711,000491: # -------------DOUBLE PRECISION - ANY EBANK (GROUP 1)--------------------
013712,000492: 15,2423 00076 ECADR STATE +2 # (FLAGWRD2,DAPBOOLS) FLAGWORDS
013713,000493: 15,2424 00074 ECADR STATE # (STATE,FLAGWRD1) FLAGWORDS
013714,000494: 15,2425 03020 ECADR OMEGAR -1 # (GARBAGE,OMEGAR) ANGULAR RATES ABOUT THE
013715,000495: 15,2426 03016 ECADR OMEGAP # (OMEGAP,OMEGAQ) P,Q,R BODY AXES (DAP)
013716,000496: 15,2427 00033 ECADR CDUY # (CDUY,CDUZ) ACTUAL CDU:S
013717,000497: 15,2430 00031 ECADR CDUX -1 # (GARBAGE,CDUX) ACTUAL CDU:S
013718,000498: 15,2431 01360 ECADR REDOCTR # (REDOCTR,SFAIL)RESTART CTR,SLFCK FAIL Q.
013719,000499: 15,2432 02372 ECADR TINT # PREDICTED ENGINE ON TIME(MP9,MP11,MP13)#
013720,000500: 15,2433 03252 ECADR AOSQ # (AOSQ,AOSR) MOMENT OFFSET(Q,R)
013721,000501: 15,2434 02562 ECADR FC # DPS2 FORCE COMMAND SCALE 3 LBS X 2(-14).
013722,000502: 15,2435 02323 ECADR TEVENT # TIME OF GRR / ENGINE ON / ENGINE OFF
013723,000503: 15,2436 00365 ECADR IMODES30 # (IMODES30,IMODES33) PGNCS FLAGWORDS
013724,000504: 15,2437 02313 ECADR STBUFF +12D # STBUFF = 14 REGISTERS
013725,000505: 15,2440 02311 ECADR STBUFF +10D # IN WHICH THE UPLINKED DATA
013726,000506: 15,2441 02307 ECADR STBUFF +8D # IS PLACED FOR GROUND
013727,000507: 15,2442 02305 ECADR STBUFF +6 # DISPLAY AND VERIFICATION
013728,000508: 15,2443 02303 ECADR STBUFF +4 # BEFORE PLACEMENT
013729,000509: 15,2444 02301 ECADR STBUFF +2 # IN THE APPROPRIATE
013730,000510: 15,2445 02277 ECADR STBUFF # ERASABLE LOCATIONS.
013731,000511: 15,2446 02315 ECADR STCOUNT # (STCOUNT,UPOLDMD)
013732,000512: 15,2447 02321 ECADR UPVERB # (UPVERB,COMPNUMB)
013733,000513:
013734,000514: 15,2450 00007 ECADR SPARE # SPARE
013735,000515: 15,2451 01142 ECADR LMPIN # (LMPIN,LMPOUT)
013736,000516:
![]() |
Page 321 |
013738,000518: 15,2452 01140 ECADR LMPCMD +6 # OUTPUT TO LMP = REGISTERS
013739,000519: 15,2453 01136 ECADR LMPCMD +4 # CONTAINING THE
013740,000520: 15,2454 01134 ECADR LMPCMD +2 # LAST EIGHT LMP COMMANDS
013741,000521: 15,2455 01132 ECADR LMPCMD # TO BE SENT BY THE LGC.
013742,000522: # ----SNAPSHOT DP WORDS FROM EBANK E7 OR UNSWITCHABLE ERASABLE(GROUP 1)---
013743,000523: 15,2456 00407 ADRES DELVZ # THE CHANGE IN VELOCITY ALONG
013744,000524: 15,2457 00405 ADRES DELVY # EACH OF THE STABLE MEMBER AXES IN THE
013745,000525: 15,2460 00403 ADRES DELVX # 2 SEC INTERVAL PRECEEDING PIPTIME.
013746,000526:
013747,000527: 15,2461 00767 ADRES CDUYD # (CDUYD,CDUZD) DESIRED CDU:S
013748,000528: 15,2462 00765 ADRES CDUXD -1 # (GARBAGE,CDUXD) DESIRED CDU:S
013749,000529: 15,2463 01340 ADRES STATIME # TIME FOR RN AND VN.
013750,000530: 15,2464 01022 ADRES VN +4 # AVE.G/ORBIT.INT. STATE VECTOR Z VEL
013751,000531: 15,2465 01020 ADRES VN +2 # AVE.G/ORBIT.INT. STATE VECTOR Y VEL
013752,000532: 15,2466 01016 ADRES VN # AVE.G/ORBIT.INT. STATE VECTOR X VEL
013753,000533: 15,2467 01014 ADRES RN +4 # AVE.G/ORBIT.INT. STATE VECTOR Z POS
013754,000534: 15,2470 01012 ADRES RN +2 # AVE.G/ORBIT.INT. STATE VECTOR Y POS
013755,000535: 15,2471 01010 ADRES RN # AVE.G/ORBIT.INT. STATE VECTOR X POS
013756,000536: # --------------------------ID WORDS--------------------------------------
013757,000537: # I.D., SYNCH BITS
013758,000538: # --------START HERE AND READ BACK FOR CONTENTS OF DOWNLIST---------------
End of include-file DOWN-TELEMETRY_PROGRAM.agc. Parent file is MAIN.agc