Source Code

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

The reconstruction began with source code of Zerlina 56, Luminary 210, and Luminary 131, previously transcribed from digitized copies of those programs. The code was created by combining the three, using Zerlina 56 as a base, since it was based off of Luminary 183. The differences between the three were carefully merged using the Luminary memos as a guide, with all changes made after Luminary 178 being backed out. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152N. Note that page numbers in the reconstructed code match those for the baseline log section mentioned in each file's changelog; the page numbers for a real Luminary 178 listing would be different.

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.

026533,000002:                                                                                                  ## Copyright:   Public domain.
026534,000003:                                                                                                  ## Filename:    P30,P37.agc
026535,000004:                                                                                                  ## Purpose:     A section of Luminary revision 178.
026536,000005:                                                                                                  ##              It is part of the reconstructed source code for the final
026537,000006:                                                                                                  ##              release of the flight software for the Lunar Module's
026538,000007:                                                                                                  ##              (LM) Apollo Guidance Computer (AGC) for Apollo 14. The
026539,000008:                                                                                                  ##              code has been recreated from copies of Zerlina 56, Luminary
026540,000009:                                                                                                  ##              210, and Luminary 131, as well as many Luminary memos.
026541,000010:                                                                                                  ##              It has been adapted such that the resulting bugger words
026542,000011:                                                                                                  ##              exactly match those specified for Luminary 178 in NASA
026543,000012:                                                                                                  ##              drawing 2021152N, which gives relatively high confidence
026544,000013:                                                                                                  ##              that the reconstruction is correct.
026545,000014:                                                                                                  ## Reference:   pp. 612-615
026546,000015:                                                                                                  ## Assembler:   yaYUL
026547,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
026548,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
026549,000018:                                                                                                  ## Mod history: 2019-08-14 MAS  Created from Zerlina 56.
026550,000019: 

Page 612

026552,000021:                                                                                                  #  PROGRAM DESCRIPTION  P30    DATE 3-6-67
026553,000022: 
026554,000023:                                                                                                  #  MOD.1  BY RAMA AIYAWAR
026555,000024:                                                                                                  #  FUNCTIONAL DESCRIPTION
026556,000025:                                                                                                  #     ACCEPT ASTRONAUT INPUTS OF TIG,DELV(LV)
026557,000026:                                                                                                  #     CALL IMU STATUS CHECK ROUTINE (R02)
026558,000027:                                                                                                  #     DISPLAY TIME TO GO, APOGEE, PERIGEE, DELV(MAG), MGA AT IGN
026559,000028:                                                                                                  #     REQUEST BURN PROGRAM
026560,000029: 
026561,000030:                                                                                                  #  CALLING SEQUENCE VIA JOB FROM V37
026562,000031: 
026563,000032:                                                                                                  #  EXIT VIA V37 CALL OR TO GOTOPOOH (V34E)
026564,000033: 
026565,000034:                                                                                                  #  SUBROUTINE CALLS-FLAGUP, PHASCHNG, BANKCALL, ENDOFJOB, GOFLASH, GOFLASHR
026566,000035:                                                                                                  #                   GOPERF3R, INTPRET, BLANKET, GOTOPOOH, R02BOTH, S30.1,
026567,000036:                                                                                                  #                   TTG/N35, MIDGIM, DISPMGA
026568,000037: 
026569,000038:                                                                                                  #  ERASABLE INITIALIZATION- STATE VECTOR
026570,000039: 
026571,000040:                                                                                                  #  OUTPUT-RINIT, VINIT, +MGA, VTIG, RTIG, DELVSIN, DELVSAB, DELVSLV, HAPO,
026572,000041:                                                                                                  #         HPER, TTOGO
026573,000042: 
026574,000043:                                                                                                  #  DEBRIS- A, L, MPAC, PUSHLIST
026575,000044: 
026576,000045: 32,2550                                           BANK     32                                    
026577,000046: 35,2000                                           SETLOC   P30S                                  
026578,000047: 35,2000                                           BANK                                           
026579,000048: 35,2000  E4,1652                                  EBANK=   +MGA                                  
026580,000049: 35,2000                                           COUNT*   $$/P30                                
026581,000050: 35,2000           05515        P30                TC       UPFLAG                                #  SET UPDATE FLAG
026582,000051: 35,2001           00027                           ADRES    UPDATFLG                              
026583,000052: 35,2002           05515                           TC       UPFLAG                                #  SET TRACK FLAG
026584,000053: 35,2003           00031                           ADRES    TRACKFLG                              
026585,000054: 
026586,000055: 35,2004           32032        P30N33             CAF      V06N33                                #  T OF IGN
026587,000056: 35,2005           03627                           TC       VNPOOH                                #  RETURNS ON PROCEED, POOH ON TERMINATE
026588,000057: 
026589,000058: 35,2006           33644                           CAF      V06N81                                #  DISPLAY DELTA V (LV)
026590,000059: 35,2007           03627                           TC       VNPOOH                                #      REDISPLAY ON RECYCLE
026591,000060: 
026592,000061: 35,2010           05527                           TC       DOWNFLAG                              #  RESET UPDATE FLAG
026593,000062: 35,2011           00027                           ADRES    UPDATFLG                              
026594,000063: 35,2012           06042                           TC       INTPRET                               
026595,000064: 35,2013           77624                           CALL                                           
026596,000065: 35,2014           70000                                    S30.1                                 
026597,000066: 35,2015           43014                           SET      SET                                   
026598,000067: 35,2016           00470                                    UPDATFLG                              
026599,000068: 35,2017           01067                                    XDELVFLG                              
026600,000069: 35,2020           77776                           EXIT                                           
026601,000070: 35,2021           32033        PARAM30            CAF      V06N42                                #  DISPLAY APOGEE,PERIGEE ,DELTA V
026602,000071: 

Page 613

026604,000073: 35,2022           03627                           TC       VNPOOH                                
026605,000074: 
026606,000075: 35,2023           06042                           TC       INTPRET                               
026607,000076: 35,2024           77614                           SET                                            
026608,000077: 35,2025           01071                                    FINALFLG                              
026609,000078: 35,2026           77624        REVN1645           CALL                                           
026610,000079: 35,2027           73523                                    VN1645                                
026611,000080: 35,2030           77650                           GOTO                                           #  COMES HERE ON RECYCLE RESPONSE
026612,000081: 35,2031           72026                                    REVN1645                              
026613,000082: 
026614,000083: 35,2032           01441        V06N33             VN       0633                                  
026615,000084: 35,2033           01452        V06N42             VN       0642                                  
026616,000085: 

Page 614

026618,000087:                                                                                                  #  PROGRAM DESCRIPTION S30.1      DATE 9NOV66
026619,000088: 
026620,000089:                                                                                                  #  MOD NO 1        LOG SECTION  P30,P37
026621,000090:                                                                                                  #  MOD  BY  RAMA AIYAWAR **
026622,000091:                                                                                                  #  FUNCTIONAL DESCRIPTION
026623,000092:                                                                                                  #           BASED ON STORED TARGET PARAMETERS(R OF IGNITION(RTIG),V OF
026624,000093:                                                                                                  #           IGNITION(VTIG),TIME OF IGNITION (TIG)),COMPUTE PERIGEE ALTITUDE
026625,000094:                                                                                                  #           APOGEE ALTITUDE AND DELTAV REQUIRED(DELVSIN).
026626,000095:                                                                                                  #  CALLING SEQUENCE
026627,000096:                                                                                                  #      L    CALL
026628,000097:                                                                                                  #      L+1         S30.1
026629,000098:                                                                                                  #  NORMAL EXIT MODE
026630,000099:                                                                                                  #      AT L+2 OR CALLING SEQUENCE (GOTO L+2)
026631,000100:                                                                                                  #  SUBROUTINES CALLED
026632,000101:                                                                                                  #           LEMPREC
026633,000102:                                                                                                  #           PERIAPO
026634,000103:                                                                                                  #  ALARM OR ABORT EXIT MODES
026635,000104:                                                                                                  #                  NONE
026636,000105:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED
026637,000106:                                                                                                  #           TIG       TIME OF IGNITION                   DP     B28CS
026638,000107:                                                                                                  #           DELVSLV   SPECIFIED DELTA-V IN LOCAL VERT.
026639,000108:                                                                                                  #                     COORDS. OF ACTIVE VEHICLE AT
026640,000109:                                                                                                  #                  TIME OF IGNITION      VECTOR  B+7  METERS/CS
026641,000110:                                                                                                  #  OUTPUT
026642,000111:                                                                                                  #           RTIG   POSITION AT TIG       VECTOR  B+29 METERS
026643,000112:                                                                                                  #           VTIG   VELOCITY AT TIG       VECTOR  B+29 METERS/CS
026644,000113:                                                                                                  #           PDL 4D APOGEE ALTITUDE       DP      B+29 M ,  B+27 METERS.
026645,000114:                                                                                                  #           HAPO   APOGEE ALTITUDE       DP      B+29 METERS
026646,000115:                                                                                                  #           PDL 8D PERIGEE ALTITUDE      DP      B+29 M ,  B+27 METERS.
026647,000116:                                                                                                  #           HPER   PERIGEE ALTITUDE      DP      B+29 METERS
026648,000117:                                                                                                  #           DELVSIN   SPECIFIED DELTA-V IN INERTIAL
026649,000118:                                                                                                  #                     COORD. OF ACTIVE VEHICLE AT
026650,000119:                                                                                                  #                  TIME OF IGNITION      VECTOR  B+7  METERS/CS
026651,000120:                                                                                                  #           DELVSAB MAG. OF DELVSIN      VECTOR  B+7  METERS/CS
026652,000121:                                                                                                  #  DEBRIS QTEMP    TEMP. ERASABLE
026653,000122:                                                                                                  #         QPRET,MPAC
026654,000123:                                                                                                  #         PUSHLIST
026655,000124: 
026656,000125: 34,2000                                           SETLOC   P30S1                                 
026657,000126: 34,2000                                           BANK                                           
026658,000127: 
026659,000128: 34,2000                                           COUNT*   $$/S30S                               
026660,000129: 
026661,000130: 34,2000           71220        S30.1              STQ      DLOAD                                 
026662,000131: 34,2001           03632                                    QTEMP                                 
026663,000132: 34,2002           03442                                    TIG                                   #  TIME IGNITION SCALED AT 2(+28)CS
026664,000133: 34,2003           34041                           STCALL   TDEC1                                 
026665,000134: 34,2004           27056                                    LEMPREC                               #  ENCKE ROUTINE FOR LEM
026666,000135: 
026667,000136: 34,2005           67175                           VLOAD    SXA,2                                 
026668,000137: 

Page 615

026670,000139: 34,2006           00001                                    RATT                                  
026671,000140: 34,2007           02777                                    RTX2                                  
026672,000141: 34,2010           03642                           STORE    RTIG                                  #  RADIUS VECTOR AT IGNITION TIME
026673,000142: 34,2011           57456                           UNIT     VCOMP                                 
026674,000143: 34,2012           27656                           STOVL    DELVSIN                               #  ZRF/LV IN DELVSIN SCALED AT 2
026675,000144: 34,2013           00007                                    VATT                                  #  VELOCITY VECTOR AT TIG, SCALED 2(7) M/CS
026676,000145: 34,2014           03650                           STORE    VTIG                                  
026677,000146: 34,2015           53435                           VXV      UNIT                                  
026678,000147: 34,2016           03642                                    RTIG                                  
026679,000148: 34,2017           66001                           SETPD    SXA,1                                 
026680,000149: 34,2020           00001                                    0                                     
026681,000150: 34,2021           02776                                    RTX1                                  
026682,000151: 34,2022           47206                           PUSH     VXV                                   #  YRF/LV PDL 0  SCALED AT 2
026683,000152: 34,2023           03656                                    DELVSIN                               
026684,000153: 34,2024           63372                           VSL1     PDVL                                  
026685,000154: 34,2025           63315                           PDVL     PDVL                                  #  YRF/LV PDL 6   SCALED AT 2
026686,000155: 34,2026           03656                                    DELVSIN                               #  ZRF/LV PDL 12D SCALED AT 2
026687,000156: 34,2027           03434                                    DELVSLV                               
026688,000157: 34,2030           76505                           VXM      VSL1                                  
026689,000158: 34,2031           00001                                    0                                     
026690,000159: 34,2032           03656                           STORE    DELVSIN                               #  DELTAV IN INERT. COOR. SCALED TO B+7M/CS
026691,000160: 34,2033           77646                           ABVAL                                          
026692,000161: 34,2034           27664                           STOVL    DELVSAB                               #  DELTA V MAG.
026693,000162: 34,2035           03642                                    RTIG                                  #  (FOR PERIAPO)
026694,000163: 34,2036           53315                           PDVL     VAD                                   #  VREQUIRED = VTIG + DELVSIN (FOR PERIAPO)
026695,000164: 34,2037           03650                                    VTIG                                  
026696,000165: 34,2040           03656                                    DELVSIN                               
026697,000166: 34,2041           77624                           CALL                                           
026698,000167: 34,2042           46335                                    PERIAPO1                              
026699,000168: 34,2043           77624                           CALL                                           
026700,000169: 34,2044           46445                                    SHIFTR1                               #  RESCALE IF NEEDED
026701,000170: 34,2045           77624                           CALL                                           #  LIMIT DISPLAY TO 9999.9 N. MI.
026702,000171: 34,2046           45636                                    MAXCHK                                
026703,000172: 34,2047           16321                           STODL    HPER                                  #  PERIGEE ALT 2(29) METERS, FOR DISPLAY
026704,000173: 34,2050           00005                                    4D                                    
026705,000174: 34,2051           77624                           CALL                                           
026706,000175: 34,2052           46445                                    SHIFTR1                               #  RESCALE IF NEEDED
026707,000176: 34,2053           77624                           CALL                                           #  LIMIT DISPLAY TO 9999.9 N. MI.
026708,000177: 34,2054           45636                                    MAXCHK                                
026709,000178: 34,2055           36317                           STCALL   HAPO                                  #  APOGEE  ALT 2(29) METERS, FOR DISPLAY
026710,000179: 34,2056           03632                                    QTEMP                                 

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