Source Code
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Peter McDermott.
A team of volunteers performed the transcription and proof-reading. The scanned
page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: YUL SYSTEM FOR AGC: NEW PROGRAM SHEPATIN BY EYLES DEC 13, 1966 THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 OF PROGRAM SUNBURST BY LEM GROUPNote that the date is the date of the printout, not the date of the program revision. |
038484,000002: ## Copyright: Public domain.
038485,000003: ## Filename: PREBURN_FOR_APS2.agc
038486,000004: ## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
038487,000005: ## It is part of an early development version of the software
038488,000006: ## for Apollo Guidance Computer (AGC) on the unmanned Lunar
038489,000007: ## Module (LM) flight Apollo 5. Sunburst 37 was the program
038490,000008: ## upon which Don Eyles's offline development program Shepatin
038491,000009: ## was based; the listing herein transcribed was actually for
038492,000010: ## the equivalent revision 0 of Shepatin.
038493,000011: ## This file is intended to be a faithful transcription, except
038494,000012: ## that the code format has been changed to conform to the
038495,000013: ## requirements of the yaYUL assembler rather than the
038496,000014: ## original YUL assembler.
038497,000015: ## Reference: pp. 851-852
038498,000016: ## Assembler: yaYUL
038499,000017: ## Contact: Ron Burkey <info@sandroid.org>.
038500,000018: ## Website: www.ibiblio.org/apollo/index.html
038501,000019: ## Mod history: 2017-05-24 MAS Created from Sunburst 120.
038502,000020: ## 2017-06-11 HG Transcribed
038503,000021: ## 2017-06-15 HG Fix interpretive operator STODL -> STORE
038504,000022: ## 2017-06-17 MAS Split up an "E-4B9".
038505,000023: ## 2017-06-23 RSB Proofed comment text with
038506,000024: ## octopus/ProoferComments.
038507,000025:
Page 851 |
038509,000027: # PREAPS2 IS A PROGRAM WHICH INITIALIZES **ASCENT** FOR THE 2ND APS
038510,000028: # BURN. IT USES RN AND VN(TIG), PROVIDED BY MIDTOAVE THROUGH MP13, TO COM-
038511,000029: # PUTE THE P, Q, AND S AXES FOR TRANSFORMATIONS, SETS 3 SWITCHES FOR PRO-
038512,000030: # PER MODING OF ASCENT, AND TRANSFERS DATA FROM FIXED TO ERASABLE FOR USE
038513,000031: # AS NOMINALS AT TIG.
038514,000032: # IT CALLS ASCENT ONCE TO PROVIDE UT AT IGNITION, AND THEN RESETS THE
038515,000033:
038516,000034: # EXIT FROM ASCENT TO GO TO FINDCDUD ON SUBSEQUENT ASCENT ENTRIES.
038517,000035:
038518,000036: 32,2000 BANK 32
038519,000037: 32,2000 E4,1400 EBANK= PAXIS1
038520,000038: 32,2000 53447 PREAPS2 DXCH RRETURN
038521,000039: 32,2001 35662 CA PRIO21 # GIVE LAMBERT A HIGHER PRIORITY THAN
038522,000040: 32,2002 55451 TS LAMPRIO # ASCENT, SO IT WILL FINISH.
038523,000041: 32,2003 06103 TC INTPRET
038524,000042: 32,2004 77624 CALL
038525,000043: 32,2005 60347 VPATCHER
038526,000044: 32,2006 77775 VLOAD
038527,000045: 32,2007 01011 RN # LOAD RN*2(N-29)
038528,000046:
038529,000047: 32,2010 53435 VXV UNIT # RN X VN*2(N-36)
038530,000048: 32,2011 01017 VN # SAXIS*2(-1)
038531,000049: 32,2012 02015 STORE SAXIS # STORE SAXIS
038532,000050: 32,2013 76435 VXV VSL1 # S X UR*2(-2)=Q1*2(-2), NORM TO S AND R
038533,000051: 32,2014 01033 UNITR # Q1*2(-1)
038534,000052: 32,2015 63361 VXSC PDVL # Q1* COS27*2(-1)
038535,000053: 32,2016 24072 COS27 # IN PDL(0)*2(-1) 2
038536,000054: 32,2017 01033 UNITR # LOAD UR*2(-1)
038537,000055: 32,2020 51361 VXSC BVSU # UR SIN27*2(-1)
038538,000056: 32,2021 24074 SIN27 # Q1 COS27-UR SIN27 = Q
038539,000057:
038540,000058: 32,2022 77626 STADR # 0
038541,000059: 32,2023 75770 STORE QAXIS # STORE QAXIS
038542,000060: 32,2024 76435 VXV VSL1 # Q X S*2(-2) = P*2(-2)
038543,000061: 32,2025 02015 SAXIS # P*2(-1)
038544,000062: 32,2026 26001 STOVL PAXIS1 # STORE PAXIS
038545,000063: 32,2027 24076 ENGNOM # LOAD NOMINAL AT, 1/VE, TBUP
038546,000064: 32,2030 26023 STOVL AT # STORE IN ERASE
038547,000065: 32,2031 24104 PREIGN # LOAD NOM, 1/DV2,1/DV1,KR
038548,000066: 32,2032 16031 STODL ATMEAS # STORE IN ERASE
038549,000067: 32,2033 26517 DP0 # LOAD 0
038550,000068: 32,2034 26037 STOVL KR1 # STORE IN KR1
038551,000069: 32,2035 24112 VCONOM # LOAD NOM. RDOTD,YDOTD,ZDOTD
038552,000070:
038553,000071: 32,2036 02041 STORE RDOTD # STORE IN ERASE
038554,000072: 32,2037 77731 SSP
038555,000073: 32,2040 02051 ASCRET
038556,000074: 32,2041 64053 PRAPS # LOAD RETURN ADD. FROM ASCENT
038557,000075: 32,2042 43014 SET CLEAR
038558,000076: 32,2043 01474 DIRECT # DIRECT=1
038559,000077: 32,2044 01675 PASS # PASS=0
038560,000078: 32,2045 43014 CLEAR SET # CLEAR GUESSW FOR NO COGAVAIL
038561,000079: 32,2046 02263 GUESSW
038562,000080: 32,2047 02061 DONESW # TO START LAMBERT
038563,000081:
Page 852 |
038565,000083: 32,2050 52014 CLEAR GOTO
038566,000084: 32,2051 01676 HC # HC=0
038567,000085:
038568,000086: 32,2052 64120 ASCENT # GO TO ASCENT EQUATIONS
038569,000087: 32,2053 43175 PRAPS VLOAD SET
038570,000088: 32,2054 02057 UT # LOAD DES. THRUST VECTOR
038571,000089: 32,2055 02063 GUESSW # SET GUESSW FOR COGAVAIL
038572,000090: 32,2056 25656 STOVL POINTVSM # STORE FOR CALCMANU
038573,000091: 32,2057 26515 BODYVECT # LOAD UNIT X-AXIS
038574,000092: 32,2060 01664 STORE SCAXIS # STORE FOR CALCMANU
038575,000093: 32,2061 77776 EXIT
038576,000094: 32,2062 32117 CA CDUFAD # SET UP FOR NORMAL EXIT FROM ASCENT TO
038577,000095: 32,2063 55450 TS ASCRET # FINDCDUD
038578,000096:
038579,000097: 32,2064 35661 CA PRIO17 # GIVE LAMBERT A LOWER PRIORITY
038580,000098: 32,2065 55451 TS LAMPRIO
038581,000099: 32,2066 00006 EXTEND
038582,000100: 32,2067 31447 DCA RRETURN # GO BACK TO MP13
038583,000101: 32,2070 52006 DXCH Z
038584,000102: 32,2071 34406 10015 COS27 2DEC .89100652
038585,000103: 32,2073 16416 05613 SIN27 2DEC .45399050
038586,000104: 32,2075 05204 04411 ENGNOM 2DEC 3.20928237 E-4 B9 # AT*2(9)
038587,000105: 32,2077 20712 37674 2DEC .0330009301 B4 # (1/VE)*2(4)
038588,000106:
038589,000107: 32,2101 27032 21513 2DEC 94420.4114 B-17 # TBUP*2(-17)
038590,000108: 32,2103 00000 00000 PREIGN 2DEC 0 B-28 # NOMINAL (1/DV2)*2( )
038591,000109: 32,2105 00000 00000 2DEC 0 B-28 # NOMINAL (1/DV1)*2( )
038592,000110: 32,2107 20000 00000 2DEC .5 # KR*2(-1) FOR APS2
038593,000111: 32,2111 00000 00000 VCONOM 2DEC 0 B-28 # RDOTD*2(-7)
038594,000112:
038595,000113: 32,2113 22363 06315 2DEC 73.9 B-7
038596,000114: 32,2115 05000 00000 2DEC 20 B-7
038597,000115: 32,2117 33,2514 DP.5 = BODYVECT
038598,000116: 32,2117 33,2516 DP0 = BODYVECT +2
038599,000117: 32,2117 E4,1400 EBANK= PAXIS1
038600,000118: 32,2117 60643 CDUFAD FCADR FINDCDUD
End of include-file PREBURN_FOR_APS2.agc. Parent file is MAIN.agc