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. |
046050,000002: ## Copyright: Public domain.
046051,000003: ## Filename: SINGLE_PRECISION_SUBROUTINES.agc
046052,000004: ## Purpose: A section of Luminary 1C, revision 131.
046053,000005: ## It is part of the source code for the Lunar Module's (LM)
046054,000006: ## Apollo Guidance Computer (AGC) for Apollo 13.
046055,000007: ## This file is intended to be a faithful transcription, except
046056,000008: ## that the code format has been changed to conform to the
046057,000009: ## requirements of the yaYUL assembler rather than the
046058,000010: ## original YUL assembler.
046059,000011: ## Reference: p. 1096
046060,000012: ## Contact: Ron Burkey <info@sandroid.org>.
046061,000013: ## Website: www.ibiblio.org/apollo/index.html
046062,000014: ## Mod history: 05/31/03 RSB. Began transcribing.
046063,000015: ## 05/14/05 RSB Corrected website references above.
046064,000016: ## 2017-01-06 RSB Page numbers now agree with those on the
046065,000017: ## original harcopy, as opposed to the PDF page
046066,000018: ## numbers in 1701.pdf.
046067,000019: ## 2017-02-27 RSB Proofed comment text using octopus/ProoferComments.
046068,000020:
![]() |
Page 1096 |
046070,000022: 5032 BLOCK 02
046071,000023:
046072,000024: # SINGLE PRECISION SINE AND COSINE
046073,000025:
046074,000026: 5032 COUNT* $$/INTER
046075,000027: 5032 64736 SPCOS AD HALF # ARGUMENTS SCALED AT PI
046076,000028: 5033 55075 SPSIN TS TEMK
046077,000029: 5034 15036 TCF SPT
046078,000030: 5035 41075 CS TEMK
046079,000031: 5036 60000 SPT DOUBLE
046080,000032: 5037 55075 TS TEMK
046081,000033: 5040 15051 TCF POLLEY
046082,000034: 5041 57075 XCH TEMK
046083,000035: 5042 51075 INDEX TEMK
046084,000036: 5043 64734 AD LIMITS
046085,000037: 5044 40000 COM
046086,000038: 5045 61075 AD TEMK
046087,000039: 5046 55075 TS TEMK
046088,000040: 5047 15051 TCF POLLEY
046089,000041: 5050 15067 TCF ARG90
046090,000042: 5051 00006 POLLEY EXTEND
046091,000043: 5052 71075 MP TEMK
046092,000044: 5053 55076 TS SQ
046093,000045: 5054 00006 EXTEND
046094,000046: 5055 75005 MP C5/2
046095,000047: 5056 67742 AD C3/2
046096,000048: 5057 00006 EXTEND
046097,000049: 5060 71076 MP SQ
046098,000050: 5061 67722 AD C1/2
046099,000051: 5062 00006 EXTEND
046100,000052: 5063 71075 MP TEMK
046101,000053: 5064 20001 DDOUBL
046102,000054: 5065 55075 TS TEMK
046103,000055: 5066 00002 TC Q
046104,000056: 5067 50000 ARG90 INDEX A
046105,000057: 5070 44734 CS LIMITS
046106,000058: 5071 00002 TC Q # RESULT SCALED AT 1
046107,000059:
046108,000060:
End of include-file SINGLE_PRECISION_SUBROUTINES.agc. Parent file is MAIN.agc