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