Source Code
These source-code files are part of a reconstructed copy of Sunrise 69, the
final release of the Block I Command Module (CM) Apollo Guidance Computer
(AGC) system test software.
They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 1003133-18, 1003133-19, 1003133-20, and 1003733-071. Corresponding portions of code have been copied from Solarium 55 where applicable. Extensive use was also made of the AGC Information Series documents, which were specifically written about the Sunrise software. Since only binary dumps (rather than listings) of Sunrise 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. |
004193,000002: ## Copyright: Public domain.
004194,000003: ## Filename: DOWN-TELEMETRY_PROGRAM.agc
004195,000004: ## Purpose: A section of Sunrise 69.
004196,000005: ## It is part of the reconstructed source code for the final
004197,000006: ## release of the Block I Command Module system test software. No
004198,000007: ## original listings of this program are available; instead, this
004199,000008: ## file was created via disassembly of dumps of Sunrise core rope
004200,000009: ## memory modules and comparison with the later Block I program
004201,000010: ## Solarium 55.
004202,000011: ## Assembler: yaYUL --block1
004203,000012: ## Contact: Ron Burkey <info@sandroid.org>.
004204,000013: ## Website: www.ibiblio.org/apollo/index.html
004205,000014: ## Mod history: 2023-06-19 MAS Created from Sunrise 45.
004206,000015:
004207,000016: ## Label names in this section were taken from the errata for AGC Information Series Issue 15.
004208,000017:
004209,000018: # TELEMETRY PROCESSOR
004210,000019: # --------- ---------
004211,000020:
004212,000021: # THE FOLLOWING TELEMETRY PROGRAM IS DESIGNED TO TRANSMIT TELEMETRY DATA VIA OUT4 WHEN AN ENDPULSE
004213,000022: # FROM THE NORTH AMERICAN TELEMETRY PROGRAMMER TRIGGERS INTERRUPT 6, WHICH INITIATES THIS ROUTINE. IT OPERATES
004214,000023: # IN CONJUNCTION WITH (BUT ASYNCHRONOUSLY FROM) THE T4RUPT PROGRAM, WHICH IS INITATED EVERY 60 MS, VIA INTERRUPT
004215,000024: # 3.
004216,000025:
004217,000026:
004218,000027: 2301 BANK 1
004219,000028: 2301 10675 DOWNRUPT CCS TELCOUNT # PNZ IS NORMAL SETTING - +0 INDICATES
004220,000029: 2302 02311 TC DOWNTMOK # TM FAILURE SINCE ENDPULSES ARE OCCURING
004221,000030: 2303 02361 TC TMFAIL # TOO FREQUENTLY. THE COUNTER IS SET TO +7
004222,000031:
004223,000032: 2304 44505 CS BIT10 # BLOCK TM ENDPULSES UNTIL ERROR RESET
004224,000033: 2305 70011 MASK OUT1 # COMMAND IS GIVEN.
004225,000034: 2306 64505 AD BIT10
004226,000035: 2307 50011 TS OUT1
004227,000036:
004228,000037: 2310 02213 TC NBRESUME # BY DSRUPT EVERY 120 MS.
004229,000038:
004230,000039: 2311 50675 DOWNTMOK TS TELCOUNT # NORMAL MODE - STORE DECREMENTED COUNT.
004231,000040:
004232,000041: 2312 10676 CCS DISPBUF
004233,000042: 2313 02315 TC +2
004234,000043: 2314 02324 TC CHARTEST
004235,000044:
004236,000045: 2315 35500 CAF ZERO
004237,000046: 2316 30676 XCH DISPBUF
004238,000047:
004239,000048: 2317 50014 DATADWNF TS OUT4
004240,000049: 2320 44506 CS BIT9
004241,000050: 2321 70011 MASK OUT1
004242,000051: 2322 50011 TS OUT1
004243,000052: 2323 02213 TC NBRESUME # NO BANK SWITCH REQUIRED.
004244,000053:
004245,000054: 2324 10702 CHARTEST CCS TMKEYBUF
004246,000055: 2325 02327 TC +2
004247,000056: 2326 02332 TC DATA/ID
004248,000057:
004249,000058: 2327 35500 CAF ZERO
004250,000059: 2330 30702 XCH TMKEYBUF
004251,000060: 2331 02317 TC DATADWNF
004252,000061:
004253,000062: 2332 10700 DATA/ID CCS IDPLACER
004254,000063: 2333 02335 TC +2
004255,000064: 2334 02354 TC IDNEXT
004256,000065:
004257,000066: 2335 50700 TS IDPLACER
004258,000067: 2336 10701 CCS TMINDEX
004259,000068: 2337 02341 TC +2
004260,000069: 2340 32366 CAF DNLST1SZ
004261,000070: 2341 50701 TS TMINDEX
004262,000071:
004263,000072: 2342 20000 INDEX A
004264,000073: 2343 22367 INDEX DNLST1
004265,000074: 2344 40000 CS 0
004266,000075: 2345 40000 COM
004267,000076: 2346 50014 TS OUT4
004268,000077: 2347 44506 CS BIT9
004269,000078: 2350 70011 MASK OUT1
004270,000079: 2351 64506 AD BIT9
004271,000080: 2352 50011 TS OUT1
004272,000081: 2353 02213 TC NBRESUME
004273,000082:
004274,000083: 2354 60701 IDNEXT AD TMINDEX
004275,000084: 2355 50014 TS OUT4
004276,000085: 2356 35501 CAF FOUR
004277,000086: 2357 50700 TS IDPLACER
004278,000087: 2360 02320 TC DATADWNF +1
004279,000088:
004280,000089: # SUBROUTINE COMMON TO UPLINK AND DOWNLINK TO TURN ON THE TM FAIL LIGHT.
004281,000090:
004282,000091: 2361 44513 TMFAIL CS BIT4
004283,000092: 2362 70011 MASK OUT1
004284,000093: 2363 64513 AD BIT4
004285,000094: 2364 50011 TS OUT1
004286,000095: 2365 00001 TC Q
004287,000096:
004288,000097: 2366 00037 DNLST1SZ DEC 31 B-14
004289,000098:
004290,000099: 2367 00036 DNLST1 ADRES TIME1
004291,000100: 2370 00035 ADRES TIME2
004292,000101: 2371 00004 ADRES IN0
004293,000102: 2372 00006 ADRES IN2
004294,000103: 2373 00007 ADRES IN3
004295,000104: 2374 00011 ADRES OUT1
004296,000105: 2375 01273 ADRES RRECT
004297,000106: 2376 01274 ADRES RRECT +1
004298,000107: 2377 01275 ADRES RRECT +2
004299,000108: 2400 01276 ADRES RRECT +3
004300,000109: 2401 01277 ADRES RRECT +4
004301,000110: 2402 01300 ADRES RRECT +5
004302,000111: 2403 01327 ADRES TDELTAV
004303,000112: 2404 01330 ADRES TDELTAV +1
004304,000113: 2405 01331 ADRES TDELTAV +2
004305,000114: 2406 01332 ADRES TDELTAV +3
004306,000115: 2407 01333 ADRES TDELTAV +4
004307,000116: 2410 01334 ADRES TDELTAV +5
004308,000117: 2411 01301 ADRES VRECT
004309,000118: 2412 01302 ADRES VRECT +1
004310,000119: 2413 01303 ADRES VRECT +2
004311,000120: 2414 01304 ADRES VRECT +3
004312,000121: 2415 01305 ADRES VRECT +4
004313,000122: 2416 01306 ADRES VRECT +5
004314,000123: 2417 01335 ADRES TNUV
004315,000124: 2420 01336 ADRES TNUV +1
004316,000125: 2421 01337 ADRES TNUV +2
004317,000126: 2422 01340 ADRES TNUV +3
004318,000127: 2423 01341 ADRES TNUV +4
004319,000128: 2424 01342 ADRES TNUV +5
004320,000129: 2425 00722 ADRES GYROD +5
004321,000130: 2426 00720 ADRES GYROD +3
End of include-file DOWN-TELEMETRY_PROGRAM.agc. Parent file is MAIN.agc