Source Code
These source-code files are part of a reconstructed copy of Luminary 97, the
second release of the Apollo 11 Lunar Module (LM) Apollo Guidance Computer
(AGC) software. It was created to fix two incorrect ephemeris constants in
Luminary 96, as described by anomaly report LNY-59.
The reconstruction began with source code of Luminary 99 revision 1 previously transcribed from a digitized copy of that program. The code was then updated by undoing changes described in original Luminary memos 83 and 85, using asterisks indicating changed lines in the listing as a guide. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152D. Note that page numbers in the reconstructed code match those on the Luminary 099 revision 001 printout, although the added code would likely have changed page numbers for a real Luminary 97 listing. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
020723,000002: ## Copyright: Public domain.
020724,000003: ## Filename: RADAR_LEADIN_ROUTINES.agc
020725,000004: ## Purpose: A section of Luminary revision 97.
020726,000005: ## It is part of the reconstructed source code for the
020727,000006: ## second release of the flight software for the Lunar
020728,000007: ## Module's (LM) Apollo Guidance Computer (AGC) for Apollo 11.
020729,000008: ## It was created to fix two incorrect ephemeris constants in
020730,000009: ## Luminary 96, as described by anomaly report LNY-59.
020731,000010: ## The code has been recreated from a copy of Luminary 99
020732,000011: ## revision 001, using asterisks indicating changed lines in
020733,000012: ## the listing and Luminary Memos #83 and #85, which list
020734,000013: ## changes between Luminary 97 and 98, and 98 and 99. The
020735,000014: ## code has been adapted such that the resulting bugger words
020736,000015: ## exactly match those specified for Luminary 97 in NASA drawing
020737,000016: ## 2021152D, which gives relatively high confidence that the
020738,000017: ## reconstruction is correct.
020739,000018: ## Reference: pp. 490-491
020740,000019: ## Assembler: yaYUL
020741,000020: ## Contact: Ron Burkey <info@sandroid.org>.
020742,000021: ## Website: www.ibiblio.org/apollo/index.html
020743,000022: ## Mod history: 2019-07-28 MAS Created from Luminary 99.
020744,000023:
Page 490 |
020746,000025: 25,2003 BANK 25
020747,000026: 25,2000 SETLOC RRLEADIN
020748,000027: 25,2000 BANK
020749,000028:
020750,000029: 25,2003 E4,1600 EBANK= RSTACK
020751,000030:
020752,000031: # RADAR SAMPLING LOOP.
020753,000032:
020754,000033: 25,2003 COUNT* $$/RLEAD
020755,000034: 25,2003 11755 RADSAMP CCS RSAMPDT # TIMES NORMAL ONCE-PER-SECOND SAMPLING.
020756,000035: 25,2004 12006 TCF +2
020757,000036: 25,2005 15261 TCF TASKOVER # +0 INSERTED MANUALLY TERMINATES TEST.
020758,000037:
020759,000038: 25,2006 05203 TC WAITLIST
020760,000039: 25,2007 E4,1600 EBANK= RSTACK
020761,000040: 25,2007 02003 52064 2CADR RADSAMP
020762,000041:
020763,000042: 25,2011 37713 CAF PRIO25
020764,000043: 25,2012 05072 TC NOVAC
020765,000044: 25,2013 E4,1600 EBANK= RSTACK
020766,000045: 25,2013 02023 52064 2CADR DORSAMP
020767,000046:
020768,000047: 25,2015 34736 CAF BIT14 # FOR CYCLIC SAMPLING, RTSTDEX=
020769,000048: 25,2016 00006 EXTEND # RTSTLOC/2 + RTSTBASE
020770,000049: 25,2017 71754 MP RTSTLOC
020771,000050: 25,2020 61753 AD RTSTBASE # 0 FOR RR, 2 FOR LR.
020772,000051: 25,2021 55751 TS RTSTDEX
020773,000052: 25,2022 15261 TCF TASKOVER
020774,000053:
020775,000054: # DO THE ACTUAL RADAR SAMPLE.
020776,000055:
020777,000056: 25,2023 02047 DORSAMP TC VARADAR # SELECTS VARIABLE RADAR CHANNEL.
020778,000057: 25,2024 04616 TC BANKCALL
020779,000058: 25,2025 17714 CADR RADSTALL
020780,000059:
020781,000060: 25,2026 25756 INCR RFAILCNT # ADVANCE FAIL COUNTER BUT ACCEPT BAD DATA
020782,000061:
020783,000062: 25,2027 00004 DORSAMP2 INHINT
020784,000063: 25,2030 30101 CA FLAGWRD5 # DON'T UPDATE RSTACK IF IN R77.
020785,000064: 25,2031 74741 MASK R77FLBIT
020786,000065: 25,2032 10000 CCS A
020787,000066: 25,2033 12037 TCF +4
020788,000067:
020789,000068: 25,2034 53102 DXCH SAMPLSUM
020790,000069: 25,2035 51754 INDEX RTSTLOC
020791,000070: 25,2036 53601 DXCH RSTACK
020792,000071:
020793,000072: 25,2037 41754 CS RTSTLOC # CYCLE RTSTLOC.
020794,000073: 25,2040 61752 AD RTSTMAX
020795,000074: 25,2041 00006 EXTEND
020796,000075:
Page 491 |
020798,000077: 25,2042 12045 BZF +3
020799,000078: 25,2043 31754 CA RTSTLOC
020800,000079: 25,2044 64752 AD TWO # STORAGE IS DP
020801,000080: 25,2045 55754 TS RTSTLOC
020802,000081: 25,2046 15155 TCF ENDOFJOB # CONTINUOUS SAMPLING AND 2N TRIES - GONE.
020803,000082:
020804,000083: # VARIABLE RADAR DATA CALLER FOR ONE MEASUREMENT ONLY.
020805,000084:
020806,000085: 25,2047 34753 VARADAR CAF ONE # WILL BE SENT TO RADAR ROUTINE IN A BY
020807,000086: 25,2050 54133 TS BUF2 # SWCALL.
020808,000087: 25,2051 51751 INDEX RTSTDEX
020809,000088: 25,2052 32054 CAF RDRLOCS
020810,000089: 25,2053 14622 TCF SWCALL # NOT TOUCHING Q.
020811,000090:
020812,000091: 25,2054 53105 RDRLOCS CADR RRRANGE # = 0
020813,000092: 25,2055 53103 CADR RRRDOT # = 1
020814,000093: 25,2056 53101 CADR LRVELX # = 2
020815,000094: 25,2057 53077 CADR LRVELY # = 3
020816,000095: 25,2060 53075 CADR LRVELZ # = 4
020817,000096: 25,2061 53073 CADR LRALT # = 5
020818,000097:
020819,000098:
End of include-file RADAR_LEADIN_ROUTINES.agc. Parent file is MAIN.agc