Source Code
These source-code files are part of a reconstructed copy of Aurora 88, the
final release of the Lunar Module (LM) Apollo Guidance Computer (AGC) system
test software.
They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 2003972-011, 2003972-091, and 2003972-111, belonging to Steve Jurvetson. Since only binary dumps (rather than listings) of Aurora 88 are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
013701,000002: ## Copyright: Public domain.
013702,000003: ## Filename: DOWN-TELEMETRY_PROGRAM.agc
013703,000004: ## Purpose: A section of Aurora 88.
013704,000005: ## It is part of the reconstructed source code for the final
013705,000006: ## release of the Lunar Module system test software. No original
013706,000007: ## listings of this program are available; instead, this file
013707,000008: ## was created via disassembly of dumps of Aurora 88 core rope
013708,000009: ## modules and comparison with other AGC programs.
013709,000010: ## Assembler: yaYUL
013710,000011: ## Contact: Ron Burkey <info@sandroid.org>.
013711,000012: ## Website: www.ibiblio.org/apollo/index.html
013712,000013: ## Mod history: 2023-06-30 MAS Created from Aurora 12.
013713,000014: ## 2023-07-12 MAS Updated for Aurora 88.
013714,000015:
013715,000016: 15,2000 BANK 15
013716,000017: 15,2000 E7,1403 EBANK= DNTMBUFF
013717,000018: 15,2000 00437 LOWIDCOD OCT 00437 # FOD'S CHOICE.
013718,000019: # SPECIAL DOWNLINK LIST FOR AGS INITIALIZATION, MUST BE IN LOCATION 2001 OF DOWNLINK FBANK,
013719,000020: 15,2001 00342 AGSLIST ECADR UPLOCK
013720,000021: 15,2002 00025 ECADR TIME1
013721,000022: 15,2003 00024 ECADR TIME2
013722,000023: 15,2004 00412 ECADR AGSWORD
013723,000024: 15,2005 03602 ECADR AGSBUFF +27D
013724,000025: 15,2006 03601 ECADR AGSBUFF +26D
013725,000026: 15,2007 03600 ECADR AGSBUFF +25D
013726,000027: 15,2010 03577 ECADR AGSBUFF +24D
013727,000028: 15,2011 00412 ECADR AGSWORD
013728,000029: 15,2012 03576 ECADR AGSBUFF +23D
013729,000030: 15,2013 03575 ECADR AGSBUFF +22D
013730,000031: 15,2014 03574 ECADR AGSBUFF +21D
013731,000032: 15,2015 03573 ECADR AGSBUFF +20D
013732,000033: 15,2016 00412 ECADR AGSWORD
013733,000034: 15,2017 03572 ECADR AGSBUFF +19D
013734,000035: 15,2020 03571 ECADR AGSBUFF +18D
013735,000036: 15,2021 03570 ECADR AGSBUFF +17D
013736,000037: 15,2022 03567 ECADR AGSBUFF +16D
013737,000038: 15,2023 00412 ECADR AGSWORD
013738,000039: 15,2024 03566 ECADR AGSBUFF +15D
013739,000040: 15,2025 03565 ECADR AGSBUFF +14D
013740,000041: 15,2026 03564 ECADR AGSBUFF +13D
013741,000042: 15,2027 03563 ECADR AGSBUFF +12D
013742,000043: 15,2030 00412 ECADR AGSWORD
013743,000044: 15,2031 03562 ECADR AGSBUFF +11D
013744,000045: 15,2032 03561 ECADR AGSBUFF +10D
013745,000046: 15,2033 01560 ADRES AGSBUFF +9D
013746,000047: 15,2034 01557 ADRES AGSBUFF +8D
013747,000048: 15,2035 00412 ADRES AGSWORD
013748,000049: 15,2036 01556 ADRES AGSBUFF +7
013749,000050: 15,2037 01555 ADRES AGSBUFF +6
013750,000051: 15,2040 01554 ADRES AGSBUFF +5
013751,000052: 15,2041 01553 ADRES AGSBUFF +4
013752,000053: 15,2042 00412 ADRES AGSWORD
013753,000054: 15,2043 01552 ADRES AGSBUFF +3
013754,000055: 15,2044 01551 ADRES AGSBUFF +2
013755,000056: 15,2045 01550 ADRES AGSBUFF +1
013756,000057: 15,2046 01547 ADRES AGSBUFF
013757,000058: # THIS ROUTINE IS INITITATED EVERY 20MS BY AN INTERRUPT TRIGGERED
013758,000059: # BY THE RECEIPT OF AN ENDPULSE FROM THE SPACECRAFT TELEMETRY PROGRAMMER.
013759,000060:
013760,000061: 15,2047 54016 DODOWNTM TS BANKRUPT # DO APPROPRIATE TM PHASE.
013761,000062: 15,2050 51401 INDEX DNTMGOTO
013762,000063: 15,2051 10000 TCF 0
013763,000064:
013764,000065: 15,2052 30411 DNPHASE1 CA DNLSTADR # ONCE PER CYCLE (1 SECOND), AN ID IS SENT
013765,000066: 15,2053 55400 TS LDATALST # AND THE DATA LIST SWITCHED TO THAT
013766,000067: 15,2054 76426 MASK LOW10 # SELECTED BY A MISSION OR TEST PROGRAM.
013767,000068: 15,2055 00006 EXTEND
013768,000069: 15,2056 01034 WRITE DNTM1
013769,000070: 15,2057 47644 CS BIT7 # WORD ORDER BIT IS 0 FOR ID OWRD ONLY.
013770,000071: 15,2060 00006 EXTEND
013771,000072: 15,2061 03013 WAND 13
013772,000073:
013773,000074: 15,2062 32212 CAF LDNPHAS2 # SWITCH TO PHASE 2.
013774,000075: 15,2063 55401 TS DNTMGOTO
013775,000076: 15,2064 32000 CAF LOWIDCOD # SPECIAL ID CODE IN L.
013776,000077: 15,2065 12151 TCF TMEXITL
013777,000078:
013778,000079: 15,2066 37644 DNPHASE2 CAF BIT7 # SET WORD ORDER BACK TO 1 FOR REMAINDER
013779,000080: 15,2067 00006 EXTEND # OF CYCLE AND SET UP TO PICK UP 12 PAIRS
013780,000081: 15,2070 05013 WOR 13 # FROM ANYWHERE IN COMMON ERASABLE OR E7.
013781,000082:
013782,000083: 15,2071 37657 CAF ZERO
013783,000084: 15,2072 54065 TS ITEMP1 # TAKE SNAPSHOT OF 12 DP WORDS.
013784,000085: 15,2073 37654 CAF TEN
013785,000086:
013786,000087: 15,2074 54066 LOOP TS ITEMP2 # THESE 12 DP WORDS ARE READ INTO AN
013787,000088: 15,2075 61400 AD LDATALST # INTERMEDIATE BUFFER SO THEY REFER TO THE
013788,000089: 15,2076 00006 EXTEND # SAME POINT IN THE EXECUTION OF A MISSION
013789,000090: 15,2077 50000 INDEX A # PROGRAM. THE WORDS MAY BE IN NON-
013790,000091: 15,2100 50032 INDEX 26D
013791,000092: 15,2101 30001 DCA 0 # 12 OF THE DATA LIST ARE USED AS
013792,000093: 15,2102 50065 INDEX ITEMP1 # ADDRESSES OF THE DESIRED DATA.
013793,000094: 15,2103 53404 DXCH DNTMBUFF
013794,000095:
013795,000096: 15,2104 37651 CAF TWO
013796,000097: 15,2105 26065 ADS ITEMP1
013797,000098: 15,2106 10066 CCS ITEMP2
013798,000099: 15,2107 12074 TCF LOOP
013799,000100:
013800,000101: 15,2110 32220 CAF DEC11 # SET UP TO SEND 11 REMAINING WORDS
013801,000102: 15,2111 55402 TS TMINDEX
013802,000103: 15,2112 32213 CAF LDNPHASX
013803,000104: 15,2113 55401 TS DNTMGOTO
013804,000105:
013805,000106: 15,2114 00006 EXTEND
013806,000107: 15,2115 51400 INDEX LDATALST
013807,000108: 15,2116 50045 INDEX 37D
013808,000109: 15,2117 30001 DCA 0
013809,000110: 15,2120 12146 TCF DNTMEXIT
013810,000111:
013811,000112: 15,2121 55402 DNPHASXA TS TMINDEX
013812,000113: 15,2122 00006 EXTEND
013813,000114: 15,2123 50000 INDEX A # SENDS SNAPSHOT BUFFER.
013814,000115: 15,2124 52230 INDEX FIXLISTB
013815,000116: 15,2125 30001 DCA 0
013816,000117: 15,2126 12146 TCF DNTMEXIT
013817,000118:
013818,000119: 15,2127 11402 DNPHASEX CCS TMINDEX # AT END OF SNAPSHOT TRANSMISSION, SET UP
013819,000120: 15,2130 12121 TCF DNPHASXA # TO SEND 26 PRS FROM ANY ERASABLE LOC AS
013820,000121:
013821,000122: 15,2131 32214 CAF LDNPHAS3 # SPECIFIED BY WORDS 1 - 26 OF THE DATA
013822,000123: 15,2132 55401 TS DNTMGOTO # LIST.
013823,000124: 15,2133 32217 CAF NOGENWDS
013824,000125:
013825,000126: 15,2134 55402 PHASE3A TS TMINDEX # GET DP WORD FROM ANY EBANK.
013826,000127: 15,2135 61400 AD LDATALST
013827,000128: 15,2136 00006 EXTEND
013828,000129: 15,2137 50000 INDEX A
013829,000130: 15,2140 30001 DCA 0 # THIS GETS THE ADDRESS - MUST USE DCA
013830,000131: 15,2141 54003 TS EBANK
013831,000132: 15,2142 75137 MASK LOW8
013832,000133: 15,2143 00006 EXTEND
013833,000134: 15,2144 50000 INDEX A
013834,000135: 15,2145 31401 DCA 3400 # (NOTE ASSEMBLY AS DCA 1400)
013835,000136: 15,2146 00006 DNTMEXIT EXTEND # GENERAL DNTM EXIT LOCATION.
013836,000137: 15,2147 01034 WRITE DNTM1
013837,000138: 15,2150 30001 CA L
013838,000139: 15,2151 00006 TMEXITL EXTEND
013839,000140: 15,2152 01035 WRITE DNTM2
013840,000141: 15,2153 14513 TCF NOQRSM
013841,000142:
013842,000143: 15,2154 11402 DNPHASE3 CCS TMINDEX
013843,000144: 15,2155 12134 TCF PHASE3A
013844,000145:
013845,000146: 15,2156 32215 CAF LDNPHAS4 # SEND FIXED FORMAT LIST OF DSPTAB AND
013846,000147: 15,2157 55401 TS DNTMGOTO # T2, T1.
013847,000148: 15,2160 36162 CAF SIX
013848,000149:
013849,000150: 15,2161 55402 PHASE4A TS TMINDEX
013850,000151: 15,2162 00006 EXTEND # FIXED DATA LIST FOR DSPTAB AND TIME.
013851,000152: 15,2163 50000 INDEX A
013852,000153: 15,2164 52221 INDEX FIXLIST
013853,000154: 15,2165 30001 DCA 0
013854,000155: 15,2166 12146 TCF DNTMEXIT
013855,000156: 15,2167 11402 DNPHASE4 CCS TMINDEX
013856,000157: 15,2170 12161 TCF PHASE4A
013857,000158:
013858,000159: 15,2171 32216 CAF LPHASE5 # SET UP FOR CHANNEL TRANSMISSION.
013859,000160: 15,2172 55401 TS DNTMGOTO
013860,000161: 15,2173 36165 CAF THREE # FOUR PAIRS OF CHANNELS.
013861,000162:
013862,000163: 15,2174 55402 PHASE5A TS TMINDEX
013863,000164: 15,2175 00006 EXTEND
013864,000165: 15,2176 50000 INDEX A
013865,000166: 15,2177 52247 INDEX FIXLSTCL
013866,000167: 15,2200 00000 READ 0
013867,000168: 15,2201 54001 TS L
013868,000169: 15,2202 00006 EXTEND
013869,000170: 15,2203 51402 INDEX TMINDEX
013870,000171: 15,2204 52243 INDEX FIXLSTCA
013871,000172: 15,2205 00000 READ 0
013872,000173: 15,2206 12146 TCF DNTMEXIT
013873,000174: 15,2207 11402 DNPHASE5 CCS TMINDEX
013874,000175: 15,2210 12174 TCF PHASE5A
013875,000176: 15,2211 12052 TCF DNPHASE1 # START NEXT CYCLE.
013876,000177: # CONSTNATS AND FIXED FORMAT DATA LIST.
013877,000178: 15,2212 02066 LDNPHAS2 ADRES DNPHASE2
013878,000179: 15,2213 02127 LDNPHASX ADRES DNPHASEX
013879,000180: 15,2214 02154 LDNPHAS3 ADRES DNPHASE3
013880,000181: 15,2215 02167 LDNPHAS4 ADRES DNPHASE4
013881,000182: 15,2216 02207 LPHASE5 ADRES DNPHASE5
013882,000183:
013883,000184: 15,2217 00031 NOGENWDS DEC 25 B-14 # 26 WORDS SENT DURING PHASE 3.
013884,000185: 15,2220 00013 DEC11 DEC 11 B-14
013885,000186:
013886,000187: 15,2221 00024 FIXLIST ADRES TIME2 # FIXED-FORMAT PORTION INCLUDES BUFFER,
013887,000188: 15,2222 00321 ADRES DSPTAB +10D # DSPTAB, AND TIME.
013888,000189: 15,2223 00317 ADRES DSPTAB +8D
013889,000190: 15,2224 00315 ADRES DSPTAB +6
013890,000191: 15,2225 00313 ADRES DSPTAB +4
013891,000192: 15,2226 00311 ADRES DSPTAB +2
013892,000193: 15,2227 00307 ADRES DSPTAB
013893,000194:
013894,000195: 15,2230 01427 FIXLISTB ADRES DNTMBUFF +20D
013895,000196: 15,2231 01425 ADRES DNTMBUFF +18D
013896,000197: 15,2232 01423 ADRES DNTMBUFF +16D
013897,000198: 15,2233 01421 ADRES DNTMBUFF +14D
013898,000199: 15,2234 01417 ADRES DNTMBUFF +12D
013899,000200: 15,2235 01415 ADRES DNTMBUFF +10D
013900,000201: 15,2236 01413 ADRES DNTMBUFF +8D
013901,000202: 15,2237 01411 ADRES DNTMBUFF +6D
013902,000203: 15,2240 01407 ADRES DNTMBUFF +4D
013903,000204: 15,2241 01405 ADRES DNTMBUFF +2D
013904,000205: 15,2242 01403 ADRES DNTMBUFF
013905,000206:
013906,000207: 15,2243 00032 FIXLSTCA OCT 32 # CHANNEL ADDRESSES.
013907,000208: 15,2244 00030 OCT 30
013908,000209: 15,2245 00013 OCT 13
013909,000210: 15,2246 00011 OCT 11
013910,000211:
013911,000212: 15,2247 00033 FIXLSTCL OCT 33
013912,000213: 15,2250 00031 OCT 31
013913,000214: 15,2251 00014 OCT 14
013914,000215: 15,2252 00012 OCT 12
013915,000216: # SPECIAL DATA LIST FOR HIGH SPEED RADAR SAMPLING. TELEMETERS TABLE OF 12 MEASUREMENTS OF 5 WORDS EACH -
013916,000217: # DATA IN WORDS 1 & 2, RR CDU ANGLES IN 3 & 4, AND TIME 1 IN 5.
013917,000218: 15,2253 00342 FSTRADTM ECADR UPLOCK
013918,000219: 15,2254 03436 ECADR RFAILCNT # COUNTS BAD SAMPLES.
013919,000220: 15,2255 03545 ECADR RSTACK +70D
013920,000221: 15,2256 03543 ECADR RSTACK +68D
013921,000222: 15,2257 03541 ECADR RSTACK +66D
013922,000223: 15,2260 03537 ECADR RSTACK +64D
013923,000224: 15,2261 03535 ECADR RSTACK +62D
013924,000225: 15,2262 03533 ECADR RSTACK +60D
013925,000226: 15,2263 03531 ECADR RSTACK +58D
013926,000227: 15,2264 03527 ECADR RSTACK +56D
013927,000228: 15,2265 03525 ECADR RSTACK +54D
013928,000229: 15,2266 03523 ECADR RSTACK +52D
013929,000230: 15,2267 03521 ECADR RSTACK +50D
013930,000231: 15,2270 03517 ECADR RSTACK +48D
013931,000232: 15,2271 03515 ECADR RSTACK +46D
013932,000233: 15,2272 03513 ECADR RSTACK +44D
013933,000234: 15,2273 03511 ECADR RSTACK +42D
013934,000235: 15,2274 03507 ECADR RSTACK +40D
013935,000236: 15,2275 03505 ECADR RSTACK +38D
013936,000237: 15,2276 03503 ECADR RSTACK +36D
013937,000238: 15,2277 03501 ECADR RSTACK +34D
013938,000239: 15,2300 03477 ECADR RSTACK +32D
013939,000240: 15,2301 03475 ECADR RSTACK +30D
013940,000241: 15,2302 03473 ECADR RSTACK +28D
013941,000242: 15,2303 03471 ECADR RSTACK +26D
013942,000243: 15,2304 03467 ECADR RSTACK +24D
013943,000244: 15,2305 01465 ADRES RSTACK +22D
013944,000245: 15,2306 01463 ADRES RSTACK +20D
013945,000246: 15,2307 01461 ADRES RSTACK +18D
013946,000247: 15,2310 01457 ADRES RSTACK +16D
013947,000248: 15,2311 01455 ADRES RSTACK +14D
013948,000249: 15,2312 01453 ADRES RSTACK +12D
013949,000250: 15,2313 01451 ADRES RSTACK +10D
013950,000251: 15,2314 01447 ADRES RSTACK +8D
013951,000252: 15,2315 01445 ADRES RSTACK +6
013952,000253: 15,2316 01443 ADRES RSTACK +4
013953,000254: 15,2317 01441 ADRES RSTACK +2
013954,000255: 15,2320 01437 ADRES RSTACK
013955,000256: # NOMINAL AURORA DOWNLIST.
013956,000257: 15,2321 00342 NOMDNLST ECADR UPLOCK
013957,000258: 15,2322 03461 ECADR RSTACK +18D
013958,000259: 15,2323 03453 ECADR RSTACK +12D
013959,000260: 15,2324 03445 ECADR RSTACK +6
013960,000261: 15,2325 03437 ECADR RSTACK
013961,000262: 15,2326 02653 ECADR VLAUN +4
013962,000263: 15,2327 02647 ECADR VLAUN
013963,000264: 15,2330 02637 ECADR ANGX
013964,000265: 15,2331 02635 ECADR ANGY
013965,000266: 15,2332 02631 ECADR ANGZ
013966,000267: 15,2333 02621 ECADR TORQUE
013967,000268: 15,2334 02645 ECADR DRIFTT
013968,000269: 15,2335 02643 ECADR DRIFTI
013969,000270: 15,2336 02641 ECADR DRIFTO
013970,000271: 15,2337 00374 ECADR MARKSTAT
013971,000272: 15,2340 00402 ECADR THETAD +2
013972,000273: 15,2341 00400 ECADR THETAD
013973,000274: 15,2342 00423 ECADR TANG
013974,000275: 15,2343 00362 ECADR LASTYCMD
013975,000276: 15,2344 00366 ECADR LMPCMD
013976,000277: 15,2345 01362 ECADR REDOCTR # INCLUDES FAILREG.
013977,000278: 15,2346 00063 ECADR STATE +2
013978,000279: 15,2347 00061 ECADR STATE
013979,000280: 15,2350 00035 ECADR OPTY
013980,000281: 15,2351 00034 ECADR CDUZ
013981,000282: 15,2352 00032 ECADR CDUX
013982,000283: 15,2353 00360 ADRES FORVEL
013983,000284: 15,2354 00355 ADRES FINALT
013984,000285: 15,2355 00364 ADRES ALTSAVE
013985,000286: 15,2356 00354 ADRES ALTRATE
013986,000287: 15,2357 00352 ADRES ALT
013987,000288: 15,2360 00421 ADRES TIMEHOLD
013988,000289: 15,2361 00417 ADRES OPTYHOLD
013989,000290: 15,2362 00415 ADRES SAMPLSUM
013990,000291: 15,2363 00427 ADRES OLDATAGD
013991,000292: 15,2364 00413 ADRES RADMODES
013992,000293: 15,2365 00041 ADRES PIPAZ
013993,000294: 15,2366 00037 ADRES PIPAX
013994,000295: 15,2367 ENDDNTMS EQUALS
End of include-file DOWN-TELEMETRY_PROGRAM.agc. Parent file is MAIN.agc