Source Code
![]() |
This source code is very close to the Apollo Guidance Computer software for the
Apollo 13 Lunar module. This revision of the Luminary 131 program is from December
of 1969, whereas there was a later revision in January of 1970, and still another
revision in February, which is the code that flew on the mission.
As far as this transcription is concerned, it was originally from a copy made in 1991 of
a printout from the collection of AGC developer Don Eyles for collector David Craig.
It was subsequently scanned by Gary Neff, reprocessed for online
presentation at the now-discontinued History of Recent Science and Technology (HRST) website
of MIT's Dibner Institute (the full-quality scans being discarded in the process),
and finally transcribed by Ron Burkey for the Virtual AGC Project. Although a
high-quality replacement scan for a completely illegible page was later provided by Gary
Neff, the reduced legibility of the reprocessed HRST posting nevertheless caused many
errors to be introduced into the transcription. Accordingly, a second scan of the same physical
printout was made in 2017 for the Virtual AGC Project's collection at the Internet Archive,
and used to correct the transcription errors. All of the scanned materials mentioned,
as well as other Luminary 131 related material, are available online.
Don Eyles apprently made additional hand-written notes in printout between 1991 and 2017,
so the two scans are not identical in that respect. The page-headings in the printout read, in part:GAP: ASSEMBLE REVISION 131 OF AGC PROGRAM LUMINARY BY NASA 2021112-091 17:53 DEC. 19, 1969Note that the date is the date the printout was made, not the date on which the program revision was released, although these happen to be very close together. |
020948,000002: ## Copyright: Public domain.
020949,000003: ## Filename: RADAR_LEADIN_ROUTINES.agc
020950,000004: ## Purpose: A section of Luminary 1C, revision 131.
020951,000005: ## It is part of the source code for the Lunar Module's (LM)
020952,000006: ## Apollo Guidance Computer (AGC) for Apollo 13.
020953,000007: ## This file is intended to be a faithful transcription, except
020954,000008: ## that the code format has been changed to conform to the
020955,000009: ## requirements of the yaYUL assembler rather than the
020956,000010: ## original YUL assembler.
020957,000011: ## Reference: pp. 494-495
020958,000012: ## Contact: Ron Burkey <info@sandroid.org>.
020959,000013: ## Website: www.ibiblio.org/apollo/index.html
020960,000014: ## Mod history: 05/14/03 RSB. Began transcribing.
020961,000015: ## 05/14/05 RSB Corrected website reference above.
020962,000016: ## 2017-01-06 RSB Page numbers now agree with those on the
020963,000017: ## original harcopy, as opposed to the PDF page
020964,000018: ## numbers in 1701.pdf.
020965,000019: ## 2017-02-24 RSB Proofed comment text using octopus/ProoferComments.
020966,000020: ## 2017-03-01 RSB Fixed a comment-text error found in diff'ing vs Luminary 116.
020967,000021:
![]() |
Page 494 |
020969,000023: 25,2003 BANK 25
020970,000024: 25,2000 SETLOC RRLEADIN
020971,000025: 25,2000 BANK
020972,000026:
020973,000027: 25,2003 E4,1600 EBANK= RSTACK
020974,000028:
020975,000029: # RADAR SAMPLING LOOP.
020976,000030: 25,2003 COUNT* $$/RLEAD
020977,000031: 25,2003 11777 RADSAMP CCS RSAMPDT # TIMES NORMAL ONCE-PER-SECOND SAMPLING.
020978,000032: 25,2004 12006 TCF +2
020979,000033: 25,2005 15261 TCF TASKOVER # +0 INSERTED MANUALLY TERMINATES TEST.
020980,000034:
020981,000035: 25,2006 05203 TC WAITLIST
020982,000036: 25,2007 E4,1600 EBANK= RSTACK
020983,000037: 25,2007 02003 52064 2CADR RADSAMP
020984,000038:
020985,000039: 25,2011 37716 CAF PRIO25
020986,000040: 25,2012 05072 TC NOVAC
020987,000041: 25,2013 E4,1600 EBANK= RSTACK
020988,000042: 25,2013 02023 52064 2CADR DORSAMP
020989,000043:
020990,000044: 25,2015 34736 CAF BIT14 # FOR CYCLIC SAMPLING, RTSTDEX=
020991,000045: 25,2016 00006 EXTEND # RTSTLOC/2 + RTSTBASE
020992,000046: 25,2017 71776 MP RTSTLOC
020993,000047: 25,2020 61775 AD RTSTBASE # 0 FOR RR, 2 FOR LR.
020994,000048: 25,2021 55773 TS RTSTDEX
020995,000049: 25,2022 15261 TCF TASKOVER
020996,000050:
020997,000051: # DO THE ACTUAL RADAR SAMPLE.
020998,000052:
020999,000053: 25,2023 02060 DORSAMP TC VARADAR # SELECTS VARIABLE RADAR CHANNEL.
021000,000054: 25,2024 04616 TC BANKCALL
021001,000055: 25,2025 17705 CADR RADSTALL
021002,000056:
021003,000057: 25,2026 25575 INCR RFAILCNT # ADVANCE FAIL COUNTER BUT ACCEPT BAD DATA
021004,000058:
021005,000059: 25,2027 00004 DORSAMP2 INHINT
021006,000060: 25,2030 30101 CA FLAGWRD5 # DON'T UPDATE RSTACK IF IN R77.
021007,000061: 25,2031 74741 MASK R77FLBIT
021008,000062: 25,2032 10000 CCS A
021009,000063: 25,2033 12050 TCF R77IN
021010,000064:
021011,000065: 25,2034 53101 DXCH SAMPLSUM
021012,000066: 25,2035 51776 INDEX RTSTLOC
021013,000067: 25,2036 53601 DXCH RSTACK
021014,000068:
021015,000069: 25,2037 30110 CA RADMODES
021016,000070: 25,2040 00006 EXTEND
021017,000071: 25,2041 06033 RXOR CHAN33
![]() |
Page 495 |
021019,000073: 25,2042 74746 MASK BIT6
021020,000074: 25,2043 00006 EXTEND
021021,000075: 25,2044 12050 BZF R77IN
021022,000076:
021023,000077: 25,2045 05567 TC ALARM
021024,000078: 25,2046 00522 OCT 522
021025,000079: 25,2047 25575 INCR RFAILCNT
021026,000080:
021027,000081: 25,2050 41776 R77IN CS RTSTLOC # CYCLE RTSTLOC
021028,000082: 25,2051 61774 AD RTSTMAX
021029,000083: 25,2052 00006 EXTEND
021030,000084: 25,2053 12056 BZF +3
021031,000085: 25,2054 31776 CA RTSTLOC
021032,000086: 25,2055 64752 AD TWO # STORAGE IS DP
021033,000087: 25,2056 55776 TS RTSTLOC
021034,000088: 25,2057 15155 TCF ENDOFJOB # CONTINUOUS SAMPLING AND 2N TRIES - GONE.
021035,000089:
021036,000090: # VARIABLE RADAR DATA CALLER FOR ONE MEASUREMENT ONLY.
021037,000091:
021038,000092: 25,2060 34753 VARADAR CAF ONE # WILL BE SENT TO RADAR ROUTINE IN A BY
021039,000093: 25,2061 54133 TS BUF2 # SWCALL.
021040,000094: 25,2062 51773 INDEX RTSTDEX
021041,000095: 25,2063 32065 CAF RDRLOCS
021042,000096: 25,2064 14622 TCF SWCALL # NOT TOUCHING Q.
021043,000097:
021044,000098: 25,2065 53114 RDRLOCS CADR RRRANGE # = 0
021045,000099: 25,2066 53112 CADR RRRDOT # = 1
021046,000100: 25,2067 53110 CADR LRVELX # = 2
021047,000101: 25,2070 53106 CADR LRVELY # = 3
021048,000102: 25,2071 53104 CADR LRVELZ # = 4
021049,000103: 25,2072 53102 CADR LRALT # = 5
021050,000104:
021051,000105:
End of include-file RADAR_LEADIN_ROUTINES.agc. Parent file is MAIN.agc