Source Code
These source-code files were transcribed from scans made from Don Eyles's personal
copy of BURST120 (SUNBURST 120). They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Mike Stewart. The code was transcribed
from these scans by a team of volunteers who are referenced in the program
comments. Comments from the original source code are in ALL-CAPS, whereas
comments added later in transcription are in Mixed-Case. In some cases, where
similar code blocks exist in previously-transcribed AGC programs (primarily
Luminary 99, from Apollo 11) those code blocks were used as a starting point and
then corrected to agree with the BURST120 scans. The full scans are available
at the Virtual AGC
project's collection at archive.org, while more-convenient reduced-size (but reduced-quality)
images are available at
the main Virtual AGC website. Report any errors noted by creating an
issue report at the Virtual AGC
project's GitHub repository. Notations on the program listing read, in part:YUL SYSTEM FOR AGC: REVISION 0 OF PROGRAM BURST120 BY NASA 2021106-031 DEC 7, 1967 THIS LISTING IS A COPY OF A VERSION OF THE PROGRAM INTENDED FOR USE IN THE ON-BOARD PRIMARY GUIDANCE COMPUTER IN THE UNMANNED FLIGHT OF APOLLO LUNAR MODULE 1 --- THE AS206 MISSION.Note that the date is the date of the printout, not the date of the program revision. |
039042,000002: ## Copyright: Public domain.
039043,000003: ## Filename: PREBURN_FOR_APS2.agc
039044,000004: ## Purpose: A module for revision 0 of BURST120 (Sunburst). It
039045,000005: ## is part of the source code for the Lunar Module's
039046,000006: ## (LM) Apollo Guidance Computer (AGC) for Apollo 5.
039047,000007: ## Assembler: yaYUL
039048,000008: ## Contact: Ron Burkey <info@sandroid.org>.
039049,000009: ## Website: www.ibiblio.org/apollo/index.html
039050,000010: ## Mod history: 2016-09-30 RSB Created draft version.
039051,000011: ## 2016-10-28 HG Transcribed
039052,000012: ## 2016-10-31 RSB Typos
039053,000013: ## 2016-12-06 RSB Comment proofing via octopus/ProoferComments
039054,000014: ## performed, and changes made.
039055,000015:
Page 911 |
039057,000017: # PREAPS2 IS A PROGRAM WHICH INITIALIZED **ASCENT** FOR THE 2ND APS
039058,000018: # BURN. IT USES RN AND VN(TIG), PROVIDED BY MIDTOAVE THROUGH MP13, TO COM-
039059,000019: # PUTE THE P, Q, AND S AXES FOR TRANSFORMATIONS, SETS 3 SWITCHES FOR PRO-
039060,000020: # PER MODING OF ASCENT, AND TRANSFERS DATA FROM FIXED TO ERASABLE FOR USE
039061,000021: # AS NOMINALS AT TIG.
039062,000022: # IT CALLS ASCENT ONCE TO PROVIDE UT AT IGNITION, AND THEN RESETS THE
039063,000023: # EXIT FROM ASCENT TO GO TO FINDCDUD ON SUBSEQUENT ASCENT ENTRIES.
039064,000024:
039065,000025: 32,2000 BANK 32
039066,000026: 32,2000 E4,1400 EBANK= PAXIS1
039067,000027: 32,2000 53447 PREAPS2 DXCH RRETURN
039068,000028: 32,2001 35644 CA PRIO21 # GIVE LAMBERT A HIGHER PRIORITY THAN
039069,000029: 32,2002 55451 TS LAMPRIO # ASCENT, SO IT WILL FINISH.
039070,000030: 32,2003 06112 TC INTPRET
039071,000031: 32,2004 77624 CALL
039072,000032: 32,2005 60436 VPATCHER
039073,000033: 32,2006 77775 VLOAD
039074,000034: 32,2007 01011 RN # LOAD RN*2(N-29)
039075,000035: 32,2010 53435 VXV UNIT # RN X VN*2(N-36)
039076,000036: 32,2011 01017 VN # SAXIS*2(-1)
039077,000037: 32,2012 02015 STORE SAXIS # STORE SAXIS
039078,000038: 32,2013 76435 VXV VSL1 # S X UR*2(-2)=Q1*2(-2), NORM TO S AND R
039079,000039: 32,2014 01033 UNITR # Q1*2(-1)
039080,000040: 32,2015 63361 VXSC PDVL # Q1* COS27*2(-1)
039081,000041: 32,2016 03602 COS27 # IN PDL(0)*2(-1) 2
039082,000042: 32,2017 01033 UNITR # LOAD UR*2(-1)
039083,000043: 32,2020 51361 VXSC BVSU # UR SIN27*2(-1)
039084,000044: 32,2021 03604 SIN27 # Q1 COS27-UR SIN27 = Q
039085,000045: 32,2022 77626 STADR # 0
039086,000046: 32,2023 75770 STORE QAXIS # STORE QAXIS
039087,000047: 32,2024 76435 VXV VSL1 # Q X S*2(-2) = P*2(-2)
039088,000048: 32,2025 02015 SAXIS # P*2(-1)
039089,000049: 32,2026 26001 STOVL PAXIS1 # STORE PAXIS
039090,000050: 32,2027 24111 ENGNOM # LOAD NOMINAL AT,VE,TBUP
039091,000051: 32,2030 26023 STOVL AT # STORE IN ERASE
039092,000052: 32,2031 24117 PREIGN # LOAD NOM, 1/DV1, 1/DV2, 1/DV3.
039093,000053: 32,2032 16031 STODL ATMEAS # STORE IN ERASE
039094,000054: 32,2033 26641 DP.5
039095,000055: 32,2034 16061 STODL KR # LOAD PITCH LIMITING PARAMETER
039096,000056: 32,2035 26643 DP0 # LOAD 0
039097,000057: 32,2036 26037 STOVL KR1 # STORE IN KR1
039098,000058: 32,2037 03606 VCONOM # LOAD NOM. RDOTD,YDOTD,ZDOTD
039099,000059: 32,2040 16041 STODL RDOTD
039100,000060: 32,2041 03576 VTO-APS
039101,000061: 32,2042 02057 STORE VTO
039102,000062: 32,2043 71331 SSP DLOAD
039103,000063: 32,2044 02051 ASCRET
039104,000064: 32,2045 64067 PRAPS # LOAD RETURN ADD. FROM ASCENT
039105,000065: 32,2046 03600 TGONOM
039106,000066: 32,2047 02141 STORE TGO # TGO$2(-17)
039107,000067:
Page 912 |
039109,000069: 32,2050 43261 SR DAD
039110,000070: 32,2051 20614 11D # TGO$2(-28)
039111,000071: 32,2052 02377 TIGNTION
039112,000072: 32,2053 02053 STORE TCO # TCO$2(-28)
039113,000073: 32,2054 43014 SET CLEAR
039114,000074: 32,2055 02067 DIRECT # DIRECT=1
039115,000075: 32,2056 02266 BAKTO4 # BAKTO4 = 0
039116,000076: 32,2057 77614 SET # TO AVOID CLOBBERING TCO DURING PREBURN
039117,000077: 32,2060 02070 PASS
039118,000078: 32,2061 43014 CLEAR SET # CLEAR GUESSW FOR NO COGAVAIL
039119,000079: 32,2062 02263 GUESSW
039120,000080: 32,2063 02061 DONESW # TO START LAMBERT
039121,000081: 32,2064 52014 CLEAR GOTO
039122,000082: 32,2065 02271 HC # HC=0
039123,000083: 32,2066 64125 ASCENT # GO TO ASCENT EQUATIONS
039124,000084: 32,2067 43175 PRAPS VLOAD SET
039125,000085: 32,2070 02233 AXISD
039126,000086: 32,2071 02063 GUESSW # SET GUESSW FOR COGAVAIL
039127,000087: 32,2072 25656 STOVL POINTVSM # STORE FOR CALCMANU
039128,000088: 32,2073 26641 BODYVECT # LOAD UNIT X-AXIS
039129,000089: 32,2074 01664 STORE SCAXIS # STORE FOR CALCMANU
039130,000090: 32,2075 43014 SET CLEAR
039131,000091: 32,2076 02061 DONESW
039132,000092: 32,2077 02273 ENGOFFSW
039133,000093: 32,2100 77776 EXIT
039134,000094: 32,2101 32124 CA CDUFAD # SET UP FOR NORMAL EXIT FROM ASCENT TO
039135,000095: 32,2102 55450 TS ASCRET # FINDCDUD
039136,000096: 32,2103 35643 CA PRIO17 # GIVE LAMBERT A LOWER PRIORITY
039137,000097: 32,2104 55451 TS LAMPRIO
039138,000098: 32,2105 00006 EXTEND
039139,000099: 32,2106 31447 DCA RRETURN # GO BACK TO MP13
039140,000100: 32,2107 52006 DXCH Z
039141,000101: 32,2110 05327 16434 ENGNOM 2DEC .00033086 B9 # AT*2(9)
039142,000102: 32,2112 07446 31055 2DEC 30.3030 # VE*2(-7)
039143,000103: 32,2114 26270 16315 2DEC 91587.6 # TBUP*2(-17)
039144,000104: 32,2116 03627 35747 PREIGN 2DEC 15.187 # 1/DV1
039145,000105: 32,2120 03624 03045 2DEC 15.157 # 1/DV2
039146,000106: 32,2122 03620 10142 2DEC 15.127 # 1/DV3
039147,000107: 32,2124 33,2640 DP.5 = BODYVECT
039148,000108: 32,2124 33,2642 DP0 = BODYVECT +2
039149,000109: 32,2124 E4,1400 EBANK= PAXIS1
039150,000110: 32,2124 60703 CDUFAD FCADR FINDCDUD
End of include-file PREBURN_FOR_APS2.agc. Parent file is MAIN.agc