Source Code
![]() |
These source-code files derive from a printout of Luminary 116 (the Apollo 12
Lunar Module guidance computer program), from the personal library of
original AGC developer Don Eyles, digitally photographed at archive.org,
financially sponsored by Ron Burkey, and transcribed to source code by a
team of volunteers. This colorized, syntax-highlighted form was created
by assembling that transcribed source code. Note that the full page images
are available on the
Virtual AGC project page at archive.org, while reduced-size images
are presented at the VirtualAGC project website. Report or fix any
transcription errors at
the Virtual AGC project code repository. Notations on the program listing read, in part: GAP: ASSEMBLE REVISION 116 OF AGC PROGRAM LUMINARY BY NASA 2021112-071 19:09 AUG. 11,1969Note that the date is the date of the printout, not the date of the program revision. |
021006,000002: ## Copyright: Public domain.
021007,000003: ## Filename: RADAR_LEADIN_ROUTINES.agc
021008,000004: ## Purpose: A section of Luminary revision 116.
021009,000005: ## It is part of the source code for the Lunar Module's (LM)
021010,000006: ## Apollo Guidance Computer (AGC) for Apollo 12.
021011,000007: ## This file is intended to be a faithful transcription, except
021012,000008: ## that the code format has been changed to conform to the
021013,000009: ## requirements of the yaYUL assembler rather than the
021014,000010: ## original YUL assembler.
021015,000011: ## Reference: pp. 492-493
021016,000012: ## Assembler: yaYUL
021017,000013: ## Contact: Ron Burkey <info@sandroid.org>.
021018,000014: ## Website: www.ibiblio.org/apollo/index.html
021019,000015: ## Mod history: 2017-01-22 MAS Created from Luminary 99.
021020,000016: ## 2017-02-18 NV Updated for Luminary 116.
021021,000017: ## 2017-02-19 HG Fix opcode RXCR -> RXOR
021022,000018: ## 2017-03-01 RSB Proofed comment text by diff vs Luminary 131
021023,000019: ## but no errors found.
021024,000020:
![]() |
Page 492 |
021026,000022: 25,2003 BANK 25
021027,000023: 25,2000 SETLOC RRLEADIN
021028,000024: 25,2000 BANK
021029,000025:
021030,000026: 25,2003 E4,1600 EBANK= RSTACK
021031,000027:
021032,000028: # RADAR SAMPLING LOOP.
021033,000029:
021034,000030: 25,2003 COUNT* $$/RLEAD
021035,000031: 25,2003 11777 RADSAMP CCS RSAMPDT # TIMES NORMAL ONCE-PER-SECOND SAMPLING.
021036,000032: 25,2004 12006 TCF +2
021037,000033: 25,2005 15261 TCF TASKOVER # +0 INSERTED MANUALLY TERMINATES TEST.
021038,000034:
021039,000035: 25,2006 05203 TC WAITLIST
021040,000036: 25,2007 E4,1600 EBANK= RSTACK
021041,000037: 25,2007 02003 52064 2CADR RADSAMP
021042,000038:
021043,000039: 25,2011 37716 CAF PRIO25
021044,000040: 25,2012 05072 TC NOVAC
021045,000041: 25,2013 E4,1600 EBANK= RSTACK
021046,000042: 25,2013 02023 52064 2CADR DORSAMP
021047,000043:
021048,000044: 25,2015 34736 CAF BIT14 # FOR CYCLIC SAMPLING, RTSTDEX =
021049,000045: 25,2016 00006 EXTEND # RTSTLOC/2 + RTSTBASE
021050,000046: 25,2017 71776 MP RTSTLOC
021051,000047: 25,2020 61775 AD RTSTBASE # 0 FOR RR, 2 FOR LR.
021052,000048: 25,2021 55773 TS RTSTDEX
021053,000049: 25,2022 15261 TCF TASKOVER
021054,000050:
021055,000051: # DO THE ACTUAL RADAR SAMPLE.
021056,000052:
021057,000053: 25,2023 02060 DORSAMP TC VARADAR # SELECTS VARIABLE RADAR CHANNEL.
021058,000054: 25,2024 04616 TC BANKCALL
021059,000055: 25,2025 17706 CADR RADSTALL
021060,000056:
021061,000057: 25,2026 25575 INCR RFAILCNT # ADVANCE FAIL COUNTER BUT ACCEPT BAD DATA
021062,000058:
021063,000059: 25,2027 00004 DORSAMP2 INHINT
021064,000060: 25,2030 30101 CA FLAGWRD5 # DON'T UPDATE RSTACK IF IN R77.
021065,000061: 25,2031 74741 MASK R77FLBIT
021066,000062: 25,2032 10000 CCS A
021067,000063: 25,2033 12050 TCF R77IN
021068,000064:
021069,000065: 25,2034 53101 DXCH SAMPLSUM
021070,000066: 25,2035 51776 INDEX RTSTLOC
021071,000067: 25,2036 53601 DXCH RSTACK
021072,000068:
021073,000069: 25,2037 30110 CA RADMODES
021074,000070: 25,2040 00006 EXTEND
021075,000071: 25,2041 06033 RXOR CHAN33
![]() |
Page 493 |
021077,000073: 25,2042 74746 MASK BIT6
021078,000074: 25,2043 00006 EXTEND
021079,000075: 25,2044 12050 BZF R77IN
021080,000076:
021081,000077: 25,2045 05567 TC ALARM
021082,000078: 25,2046 00522 OCT 522
021083,000079: 25,2047 25575 INCR RFAILCNT
021084,000080:
021085,000081: 25,2050 41776 R77IN CS RTSTLOC # CYCLE RTSTLOC
021086,000082: 25,2051 61774 AD RTSTMAX
021087,000083: 25,2052 00006 EXTEND
021088,000084: 25,2053 12056 BZF +3
021089,000085: 25,2054 31776 CA RTSTLOC
021090,000086: 25,2055 64752 AD TWO # STORAGE IS DP
021091,000087: 25,2056 55776 TS RTSTLOC
021092,000088: 25,2057 15155 TCF ENDOFJOB # CONTINUOUS SAMPLING AND 2N TRIES - GONE.
021093,000089:
021094,000090: # VARIABLE RADAR DATA CALLER FOR ONE MEASUREMENT ONLY.
021095,000091:
021096,000092: 25,2060 34753 VARADAR CAF ONE # WILL BE SENT TO RADAR ROUTINE IN A BY
021097,000093: 25,2061 54133 TS BUF2 # SWCALL.
021098,000094: 25,2062 51773 INDEX RTSTDEX
021099,000095: 25,2063 32065 CAF RDRLOCS
021100,000096: 25,2064 14622 TCF SWCALL # NOT TOUCHING Q.
021101,000097:
021102,000098: 25,2065 53114 RDRLOCS CADR RRRANGE # =0
021103,000099: 25,2066 53112 CADR RRRDOT # =1
021104,000100: 25,2067 53110 CADR LRVELX # =2
021105,000101: 25,2070 53106 CADR LRVELY # =3
021106,000102: 25,2071 53104 CADR LRVELZ # =4
021107,000103: 25,2072 53102 CADR LRALT # =5
021108,000104:
021109,000105:
End of include-file RADAR_LEADIN_ROUTINES.agc. Parent file is MAIN.agc