Source Code
These source-code files are part of a reconstructed copy of Sunrise 45, the
penultimate 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, and 1003133-20. 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. |
004133,000002: ## Copyright: Public domain.
004134,000003: ## Filename: DOWN-TELEMETRY_PROGRAM.agc
004135,000004: ## Purpose: A section of Sunrise 45.
004136,000005: ## It is part of the reconstructed source code for the penultimate
004137,000006: ## release of the Block I Command Module system test software. No
004138,000007: ## original listings of this program are available; instead, this
004139,000008: ## file was created via disassembly of dumps of Sunrise core rope
004140,000009: ## memory modules and comparison with the later Block I program
004141,000010: ## Solarium 55.
004142,000011: ## Assembler: yaYUL --block1
004143,000012: ## Contact: Ron Burkey <info@sandroid.org>.
004144,000013: ## Website: www.ibiblio.org/apollo/index.html
004145,000014: ## Mod history: 2022-12-09 MAS Initial reconstructed source.
004146,000015:
004147,000016: ## Label names in this section were taken from the errata for AGC Information Series Issue 15.
004148,000017:
004149,000018: # TELEMETRY PROCESSOR
004150,000019: # --------- ---------
004151,000020:
004152,000021: # THE FOLLOWING TELEMETRY PROGRAM IS DESIGNED TO TRANSMIT TELEMETRY DATA VIA OUT4 WHEN AN ENDPULSE
004153,000022: # FROM THE NORTH AMERICAN TELEMETRY PROGRAMMER TRIGGERS INTERRUPT 6, WHICH INITIATES THIS ROUTINE. IT OPERATES
004154,000023: # IN CONJUNCTION WITH (BUT ASYNCHRONOUSLY FROM) THE T4RUPT PROGRAM, WHICH IS INITATED EVERY 60 MS, VIA INTERRUPT
004155,000024: # 3.
004156,000025:
004157,000026:
004158,000027: 2301 BANK 1
004159,000028: 2301 10675 DOWNRUPT CCS TELCOUNT # PNZ IS NORMAL SETTING - +0 INDICATES
004160,000029: 2302 02311 TC DOWNTMOK # TM FAILURE SINCE ENDPULSES ARE OCCURING
004161,000030: 2303 02361 TC TMFAIL # TOO FREQUENTLY. THE COUNTER IS SET TO +7
004162,000031:
004163,000032: 2304 44505 CS BIT10 # BLOCK TM ENDPULSES UNTIL ERROR RESET
004164,000033: 2305 70011 MASK OUT1 # COMMAND IS GIVEN.
004165,000034: 2306 64505 AD BIT10
004166,000035: 2307 50011 TS OUT1
004167,000036:
004168,000037: 2310 02213 TC NBRESUME # BY DSRUPT EVERY 120 MS.
004169,000038:
004170,000039: 2311 50675 DOWNTMOK TS TELCOUNT # NORMAL MODE - STORE DECREMENTED COUNT.
004171,000040:
004172,000041: 2312 10676 CCS DISPBUF
004173,000042: 2313 02315 TC +2
004174,000043: 2314 02324 TC CHARTEST
004175,000044:
004176,000045: 2315 35500 CAF ZERO
004177,000046: 2316 30676 XCH DISPBUF
004178,000047:
004179,000048: 2317 50014 DATADWNF TS OUT4
004180,000049: 2320 44506 CS BIT9
004181,000050: 2321 70011 MASK OUT1
004182,000051: 2322 50011 TS OUT1
004183,000052: 2323 02213 TC NBRESUME # NO BANK SWITCH REQUIRED.
004184,000053:
004185,000054: 2324 10702 CHARTEST CCS TMKEYBUF
004186,000055: 2325 02327 TC +2
004187,000056: 2326 02332 TC DATA/ID
004188,000057:
004189,000058: 2327 35500 CAF ZERO
004190,000059: 2330 30702 XCH TMKEYBUF
004191,000060: 2331 02317 TC DATADWNF
004192,000061:
004193,000062: 2332 10700 DATA/ID CCS IDPLACER
004194,000063: 2333 02335 TC +2
004195,000064: 2334 02354 TC IDNEXT
004196,000065:
004197,000066: 2335 50700 TS IDPLACER
004198,000067: 2336 10701 CCS TMINDEX
004199,000068: 2337 02341 TC +2
004200,000069: 2340 32366 CAF DNLST1SZ
004201,000070: 2341 50701 TS TMINDEX
004202,000071:
004203,000072: 2342 20000 INDEX A
004204,000073: 2343 22367 INDEX DNLST1
004205,000074: 2344 40000 CS 0
004206,000075: 2345 40000 COM
004207,000076: 2346 50014 TS OUT4
004208,000077: 2347 44506 CS BIT9
004209,000078: 2350 70011 MASK OUT1
004210,000079: 2351 64506 AD BIT9
004211,000080: 2352 50011 TS OUT1
004212,000081: 2353 02213 TC NBRESUME
004213,000082:
004214,000083: 2354 60701 IDNEXT AD TMINDEX
004215,000084: 2355 50014 TS OUT4
004216,000085: 2356 35501 CAF FOUR
004217,000086: 2357 50700 TS IDPLACER
004218,000087: 2360 02320 TC DATADWNF +1
004219,000088:
004220,000089: # SUBROUTINE COMMON TO UPLINK AND DOWNLINK TO TURN ON THE TM FAIL LIGHT.
004221,000090:
004222,000091: 2361 44513 TMFAIL CS BIT4
004223,000092: 2362 70011 MASK OUT1
004224,000093: 2363 64513 AD BIT4
004225,000094: 2364 50011 TS OUT1
004226,000095: 2365 00001 TC Q
004227,000096:
004228,000097: 2366 00037 DNLST1SZ DEC 31 B-14
004229,000098:
004230,000099: 2367 00036 DNLST1 ADRES TIME1
004231,000100: 2370 00035 ADRES TIME2
004232,000101: 2371 00004 ADRES IN0
004233,000102: 2372 00006 ADRES IN2
004234,000103: 2373 00007 ADRES IN3
004235,000104: 2374 00011 ADRES OUT1
004236,000105: 2375 01273 ADRES RRECT
004237,000106: 2376 01274 ADRES RRECT +1
004238,000107: 2377 01275 ADRES RRECT +2
004239,000108: 2400 01276 ADRES RRECT +3
004240,000109: 2401 01277 ADRES RRECT +4
004241,000110: 2402 01300 ADRES RRECT +5
004242,000111: 2403 01327 ADRES TDELTAV
004243,000112: 2404 01330 ADRES TDELTAV +1
004244,000113: 2405 01331 ADRES TDELTAV +2
004245,000114: 2406 01332 ADRES TDELTAV +3
004246,000115: 2407 01333 ADRES TDELTAV +4
004247,000116: 2410 01334 ADRES TDELTAV +5
004248,000117: 2411 01301 ADRES VRECT
004249,000118: 2412 01302 ADRES VRECT +1
004250,000119: 2413 01303 ADRES VRECT +2
004251,000120: 2414 01304 ADRES VRECT +3
004252,000121: 2415 01305 ADRES VRECT +4
004253,000122: 2416 01306 ADRES VRECT +5
004254,000123: 2417 01335 ADRES TNUV
004255,000124: 2420 01336 ADRES TNUV +1
004256,000125: 2421 01337 ADRES TNUV +2
004257,000126: 2422 01340 ADRES TNUV +3
004258,000127: 2423 01341 ADRES TNUV +4
004259,000128: 2424 01342 ADRES TNUV +5
004260,000129: 2425 00722 ADRES GYROD +5
004261,000130: 2426 00720 ADRES GYROD +3
End of include-file DOWN-TELEMETRY_PROGRAM.agc. Parent file is MAIN.agc