Source Code

These source-code files are part of a reconstructed copy of Luminary 97, the original release of the Apollo 11 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

The reconstruction began with source code of Luminary 99 revision 1 previously transcribed from a digitized copy of that program. The code was then updated by undoing changes described in original Luminary memos 83 and 85, using asterisks indicating changed lines in the listing as a guide. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152D. Note that page numbers in the reconstructed code match those on the Luminary 099 revision 001 printout, although the added code would likely have changed page numbers for a real Luminary 97 listing.

Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository.

025928,000002:                                                                                                  ## Copyright:   Public domain.
025929,000003:                                                                                                  ## Filename:    P30,P37.agc
025930,000004:                                                                                                  ## Purpose:     A section of Luminary revision 97.
025931,000005:                                                                                                  ##              It is part of the reconstructed source code for the
025932,000006:                                                                                                  ##              original release of the flight software for the Lunar 
025933,000007:                                                                                                  ##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 11.
025934,000008:                                                                                                  ##              The code has been recreated from a copy of Luminary 99
025935,000009:                                                                                                  ##              revision 001, using asterisks indicating changed lines in
025936,000010:                                                                                                  ##              the listing and Luminary Memos #83 and #85, which list 
025937,000011:                                                                                                  ##              changes between Luminary 97 and 98, and 98 and 99. The
025938,000012:                                                                                                  ##              code has been adapted such that the resulting bugger words
025939,000013:                                                                                                  ##              exactly match those specified for Luminary 97 in NASA drawing
025940,000014:                                                                                                  ##              2021152D, which gives relatively high confidence that the
025941,000015:                                                                                                  ##              reconstruction is correct.
025942,000016:                                                                                                  ## Reference:   pp. 614-617
025943,000017:                                                                                                  ## Assembler:   yaYUL
025944,000018:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
025945,000019:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
025946,000020:                                                                                                  ## Mod history: 2019-07-28 MAS  Created from Luminary 99.
025947,000021: 

Page 614

025949,000023:                                                                                                  #  PROGRAM DESCRIPTION P30       DATE 3-6-67
025950,000024: 
025951,000025:                                                                                                  #  MOD.1 BY RAMA AIYAWAR
025952,000026: 
025953,000027:                                                                                                  #  FUNCTIONAL DESCRIPTION
025954,000028:                                                                                                  #        ACCEPT ASTRONAUT INPUTS OF TIG,DELV(LV)
025955,000029:                                                                                                  #        CALL IMU STATUS CHECK ROUTINE (R02)
025956,000030:                                                                                                  #        DISPLAY TIME TO GO, APOGEE, PERIGEE, DELV(MAG), MGA AT IGN
025957,000031:                                                                                                  #        REQUEST BURN PROGRAM
025958,000032: 
025959,000033:                                                                                                  #  CALLING SEQUENCE VIA JOB FROM V37
025960,000034: 
025961,000035:                                                                                                  #  EXIT VIA V37 CALL OR TO GOTOPOOH (V34E)
025962,000036: 
025963,000037:                                                                                                  #  SUBROUTINE CALLS -    FLAGUP, PHASCHNG, BANKCALL, ENDOFJOB, GOFLASH, GOFLASHR
025964,000038:                                                                                                  #                        GOPERF3R, INTPRET, BLANKET, GOTOPOOH, R02BOTH, S30.1,
025965,000039:                                                                                                  #                        TTG/N35, MIDGIM, DISPMGA
025966,000040: 
025967,000041:                                                                                                  #  ERASABLE INITIALIZATION - STATE VECTOR
025968,000042: 
025969,000043:                                                                                                  #  OUTPUT -      RINIT, VINIT, +MGA, VTIG, RTIG, DELVSIN, DELVSAB, DELVSLV, HAPO,
025970,000044:                                                                                                  #                HPER, TTOGO
025971,000045: 
025972,000046:                                                                                                  #  DEBRIS - A, L, MPAC, PUSHLIST
025973,000047: 
025974,000048: 32,2776                                           BANK     32                                    
025975,000049: 35,2000                                           SETLOC   P30S                                  
025976,000050: 35,2000                                           BANK                                           
025977,000051: 35,2000  E4,1652                                  EBANK=   +MGA                                  
025978,000052: 35,2000                                           COUNT*   $$/P30                                
025979,000053: 35,2000           05504        P30                TC       UPFLAG                                #  SET UPDATE FLAG
025980,000054: 35,2001           00027                           ADRES    UPDATFLG                              
025981,000055: 35,2002           05504                           TC       UPFLAG                                #  SET TRACK FLAG
025982,000056: 35,2003           00031                           ADRES    TRACKFLG                              
025983,000057: 
025984,000058: 35,2004           32025        P30N33             CAF      V06N33                                #  T OF IGN
025985,000059: 35,2005           03712                           TC       VNPOOH                                #  RETURNS ON PROCEED, POOH ON TERMINATE
025986,000060: 
025987,000061: 35,2006           33727                           CAF      V06N81                                #  DISPLAY DELTA V (LV)
025988,000062: 35,2007           03712                           TC       VNPOOH                                #        REDISPLAY ON RECYCLE
025989,000063: 
025990,000064: 35,2010           05516                           TC       DOWNFLAG                              #  RESET UPDATE FLAG
025991,000065: 35,2011           00027                           ADRES    UPDATFLG                              
025992,000066: 35,2012           06037                           TC       INTPRET                               
025993,000067: 35,2013           77624                           CALL                                           
025994,000068: 35,2014           70000                                    S30.1                                 
025995,000069: 35,2015           77414                           SET      EXIT                                  
025996,000070: 35,2016           00470                                    UPDATFLG                              
025997,000071: 35,2017           32026        PARAM30            CAF      V06N42                                #  DISPLAY APOGEE,PERIGEE,DELTA V
025998,000072: 35,2020           03712                           TC       VNPOOH                                

Page 615

026000,000074: 
026001,000075: 35,2021           06037                           TC       INTPRET                               
026002,000076: 35,2022           77614                           SETGO                                          
026003,000077: 35,2023           01027                                    XDELVFLG                              #  FOR P40'S: EXTERNAL DELTA-V GUIDANCE.
026004,000078: 35,2024           72540                                    REVN1645                              #  TRKMKCNT, TGO, +MGA  DISPLAY
026005,000079: 
026006,000080: 35,2025           01441        V06N33             VN       0633                                  
026007,000081: 35,2026           01452        V06N42             VN       0642                                  
026008,000082: 

Page 616

026010,000084:                                                                                                  #  PROGRAM DESCRIPTION S30.1     DATE 9NOV66
026011,000085:                                                                                                  #  MOD NO 1                      LOG SECTION P30,P37
026012,000086:                                                                                                  #  MOD BY RAMA AIYAWAR **
026013,000087: 
026014,000088:                                                                                                  #  FUNCTIONAL DESCRIPTION
026015,000089:                                                                                                  #        BASED ON STORED TARGET PARAMETERS (R OF IGNITION (RTIG), V OF
026016,000090:                                                                                                  #        IGNITION (VTIG), TIME OF IGNITION (TIG)), COMPUTE PERIGEE ALTITUDE
026017,000091:                                                                                                  #        APOGEE ALTITUDE AND DELTAV REQUIRED (DELVSIN).
026018,000092: 
026019,000093:                                                                                                  #  CALLING SEQUENCE
026020,000094:                                                                                                  #        L       CALL
026021,000095:                                                                                                  #        L+1             S30.1
026022,000096: 
026023,000097:                                                                                                  #  NORMAL EXIT MODE
026024,000098:                                                                                                  #        AT L+2 OR CALLING SEQUENCE (GOTO L+2)
026025,000099: 
026026,000100:                                                                                                  #  SUBROUTINES CALLED
026027,000101:                                                                                                  #        LEMPREC
026028,000102:                                                                                                  #        PERIAPO
026029,000103: 
026030,000104:                                                                                                  #  ALARM OR ABORT EXIT MODES
026031,000105:                                                                                                  #        NONE
026032,000106: 
026033,000107:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED
026034,000108:                                                                                                  #        TIG             TIME OF IGNITION        DP B28CS
026035,000109:                                                                                                  #        DELVSLV         SPECIFIED DELTA-V IN LOCAL VERT.
026036,000110:                                                                                                  #                        COORDS. OF ACTIVE VEHICLE AT
026037,000111:                                                                                                  #                        TIME OF IGNITION        VECTOR B+7 METERS/CS
026038,000112: 
026039,000113:                                                                                                  #  OUTPUT
026040,000114:                                                                                                  #        RTIG            POSITION AT TIG         VECTOR B+29 METERS
026041,000115:                                                                                                  #        VTIG            VELOCITY AT TIG         VECTOR B+29 METERS/CS
026042,000116:                                                                                                  #        PDL 4D          APOGEE ALTITUDE         DP B+29 M, B+27 METERS.
026043,000117:                                                                                                  #        HAPO            APOGEE ALTITUDE         DP B+29 METERS
026044,000118:                                                                                                  #        PDL 8D          PERIGEE ALTITUDE        DP B+29 M, B+27 METERS.
026045,000119:                                                                                                  #        HPER            PERIGEE ALTITUDE        DP B+29 METERS
026046,000120:                                                                                                  #        DELVSIN         SPECIFIED DELTA-V IN INERTIAL
026047,000121:                                                                                                  #                        COORD. OF ACTIVE VEHICLE AT
026048,000122:                                                                                                  #                        TIME OF IGNITION        VECTOR B+7 METERS/CS
026049,000123:                                                                                                  #        DELVSAB         MAG. OF DELVSIN         VECTOR B+7 METERS/CS
026050,000124: 
026051,000125:                                                                                                  #  DEBRIS        QTEMP   TEMP.ERASABLE
026052,000126:                                                                                                  #                QPRET, MPAC
026053,000127:                                                                                                  #                PUSHLIST
026054,000128: 
026055,000129: 34,2000                                           SETLOC   P30S1                                 
026056,000130: 34,2000                                           BANK                                           
026057,000131: 
026058,000132: 34,2000                                           COUNT*   $$/S30S                               
026059,000133: 
026060,000134: 34,2000           71220        S30.1              STQ      DLOAD                                 
026061,000135: 34,2001           03632                                    QTEMP                                 
026062,000136: 34,2002           03442                                    TIG                                   #  TIME IGNITION SCALED AT 2(+28)CS
026063,000137: 34,2003           34041                           STCALL   TDEC1                                 
026064,000138: 34,2004           27057                                    LEMPREC                               #  ENCKE ROUTINE FOR LEM
026065,000139: 
026066,000140: 34,2005           67175                           VLOAD    SXA,2                                 

Page 617

026068,000142: 34,2006           00001                                    RATT                                  
026069,000143: 34,2007           02777                                    RTX2                                  
026070,000144: 34,2010           03642                           STORE    RTIG                                  #  RADIUS VECTOR AT IGNITION TIME
026071,000145: 34,2011           57456                           UNIT     VCOMP                                 
026072,000146: 34,2012           27656                           STOVL    DELVSIN                               #  ZRF/LV IN DELVSIN SCALED AT 2
026073,000147: 34,2013           00007                                    VATT                                  #  VELOCITY VECTOR AT TIG, SCALED 2(7) M/CS
026074,000148: 34,2014           03650                           STORE    VTIG                                  
026075,000149: 34,2015           53435                           VXV      UNIT                                  
026076,000150: 34,2016           03642                                    RTIG                                  
026077,000151: 34,2017           66001                           SETPD    SXA,1                                 
026078,000152: 34,2020           00001                                    0                                     
026079,000153: 34,2021           02776                                    RTX1                                  
026080,000154: 34,2022           47206                           PUSH     VXV                                   #  YRF/LV PDL 0 SCALED AT 2
026081,000155: 34,2023           03656                                    DELVSIN                               
026082,000156: 34,2024           63372                           VSL1     PDVL                                  
026083,000157: 34,2025           63315                           PDVL     PDVL                                  #  YRF/LV PDL 6 SCALED AT 2
026084,000158: 34,2026           03656                                    DELVSIN                               #  ZRF/LV PDL 12D SCALED AT 2
026085,000159: 34,2027           03434                                    DELVSLV                               
026086,000160: 34,2030           76505                           VXM      VSL1                                  
026087,000161: 34,2031           00001                                    0                                     
026088,000162: 34,2032           03656                           STORE    DELVSIN                               #  DELTAV IN INERT. COOR. SCALED TO B+7M/CS
026089,000163: 34,2033           77646                           ABVAL                                          
026090,000164: 34,2034           27664                           STOVL    DELVSAB                               #  DELTA V MAG.
026091,000165: 34,2035           03642                                    RTIG                                  #  (FOR PERIAPO)
026092,000166: 34,2036           53315                           PDVL     VAD                                   #  VREQUIRED = VTIG + DELVSIN (FOR PERIAPO)
026093,000167: 34,2037           03650                                    VTIG                                  
026094,000168: 34,2040           03656                                    DELVSIN                               
026095,000169: 34,2041           77624                           CALL                                           
026096,000170: 34,2042           46316                                    PERIAPO1                              
026097,000171: 34,2043           77624                           CALL                                           
026098,000172: 34,2044           46426                                    SHIFTR1                               #  RESCALE IF NEEDED
026099,000173: 34,2045           77624                           CALL                                           #  LIMIT DISPLAY TO 9999.9 N. MI.
026100,000174: 34,2046           45636                                    MAXCHK                                
026101,000175: 34,2047           16321                           STODL    HPER                                  #  PERIGEE ALT 2(29) METERS, FOR DISPLAY
026102,000176: 34,2050           00005                                    4D                                    
026103,000177: 34,2051           77624                           CALL                                           
026104,000178: 34,2052           46426                                    SHIFTR1                               #  RESCALE IF NEEDED
026105,000179: 34,2053           77624                           CALL                                           #  LIMIT DISPLAY TO 9999.9 N. MI.
026106,000180: 34,2054           45636                                    MAXCHK                                
026107,000181: 34,2055           36317                           STCALL   HAPO                                  #  APOGEE ALT 2(29) METERS, FOR DISPLAY
026108,000182: 34,2056           03632                                    QTEMP                                 
026109,000183: 
026110,000184: 

End of include-file P30,P37.agc.  Parent file is MAIN.agc