Source Code

These source-code files are part of a reconstructed copy of Luminary 97, the second release of the Apollo 11 Lunar Module (LM) Apollo Guidance Computer (AGC) software. It was created to fix two incorrect ephemeris constants in Luminary 96, as described by anomaly report LNY-59.

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.

029967,000002:                                                                                                  ## Copyright:   Public domain.
029968,000003:                                                                                                  ## Filename:    P76.agc
029969,000004:                                                                                                  ## Purpose:     A section of Luminary revision 97.
029970,000005:                                                                                                  ##              It is part of the reconstructed source code for the
029971,000006:                                                                                                  ##              second release of the flight software for the Lunar 
029972,000007:                                                                                                  ##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 11.
029973,000008:                                                                                                  ##              It was created to fix two incorrect ephemeris constants in
029974,000009:                                                                                                  ##              Luminary 96, as described by anomaly report LNY-59.
029975,000010:                                                                                                  ##              The code has been recreated from a copy of Luminary 99
029976,000011:                                                                                                  ##              revision 001, using asterisks indicating changed lines in
029977,000012:                                                                                                  ##              the listing and Luminary Memos #83 and #85, which list 
029978,000013:                                                                                                  ##              changes between Luminary 97 and 98, and 98 and 99. The
029979,000014:                                                                                                  ##              code has been adapted such that the resulting bugger words
029980,000015:                                                                                                  ##              exactly match those specified for Luminary 97 in NASA drawing
029981,000016:                                                                                                  ##              2021152D, which gives relatively high confidence that the
029982,000017:                                                                                                  ##              reconstruction is correct.
029983,000018:                                                                                                  ## Reference:   pp. 709-711
029984,000019:                                                                                                  ## Assembler:   yaYUL
029985,000020:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
029986,000021:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
029987,000022:                                                                                                  ## Mod history: 2019-07-28 MAS  Created from Luminary 99.
029988,000023: 

Page 709

029990,000025:                                                                                                  #  1)    PROGRAM NAME - TARGET DELTA V PROGRAM (P76).
029991,000026:                                                                                                  #  2)    FUNCTIONAL DESCRIPTION - UPON ENTRY BY ASTRONAUT ACTION, P76 FLASHES DSKY REQUESTS TO THE ASTRONAUT
029992,000027:                                                                                                  #        TO PROVIDE VIA DSKY (1) THE DELTA V TO BE APPLIED TO THE OTHER VEHICLE STATE VECTOR AND (2) THE
029993,000028:                                                                                                  #        TIME (TIG) AT WHICH THE OTHER VEHICLE VELOCITY WAS CHANGED BY EXECUTION OF A THRUSTING MANEUVER. THE
029994,000029:                                                                                                  #        OTHER VEHICLE STATE VECTOR IS INTEGRATED TO TIG AND UPDATED BY THE ADDITION OF DELTA V (DELTA V HAVING
029995,000030:                                                                                                  #        BEEN TRANSFORMED FROM LV TO REF COSYS).  USING INTEGRVS, THE PROGRAM THEN INTEGRATES THE OTHER
029996,000031:                                                                                                  #        VEHICLE STATE VECTOR TO THE STATE VECTOR OF THIS VEHICLE, THUS INSURING THAT THE W-MATRIX AND BOTH VEHICLE
029997,000032:                                                                                                  #        STATES CORRESPOND TO THE SAME TIME.
029998,000033:                                                                                                  #  3)    ERASABLE INITIALIZATION REQUIRED - NONE.
029999,000034:                                                                                                  #  4)    CALLING SEQUENCES AND EXIT MODES - CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76E.
030000,000035:                                                                                                  #        EXITS BY TCF ENDOFJOB.
030001,000036:                                                                                                  #  5)    OUTPUT - OTHER VEHICLE STATE VECTOR INTEGRATED TO TIG AND INCREMENTED BY DELTA V IN REF COSYS.
030002,000037:                                                                                                  #        THE PUSHLIST CONTAINS THE MATRIX BY WHICH THE INPUT DELTA V MUST BE POST-MULTIPLIED TO CONVERT FROM LV
030003,000038:                                                                                                  #        TO REF COSYS.
030004,000039:                                                                                                  #  6)    DEBRIS - OTHER VEHICLE STATE VECTOR.
030005,000040:                                                                                                  #  7)    SUBROUTINES CALLED - BANKCALL, GOXDSPF, CSMPREC (OR LEMPREC), ATOPCSM (OR ATOPLEM), INTSTALL, INTWAKE, PHASCHNG
030006,000041:                                                                                                  #        INTPRET, INTEGRVS, AND MINIRECT.
030007,000042:                                                                                                  #  8)    FLAG USE - MOONFLAG, CMOONFLAG, INTYPFLG, RASFLAG, AND MARKCTR.
030008,000043: 
030009,000044: 30,2061                                           BANK     30                                    
030010,000045: 13,2000                                           SETLOC   P76LOC                                
030011,000046: 13,2000                                           BANK                                           
030012,000047: 
030013,000048: 13,2207                                           COUNT*   $$/P76                                
030014,000049: 
030015,000050: 13,2207  E7,1441                                  EBANK=   TIG                                   
030016,000051: 
030017,000052: 13,2207           05504        P76                TC       UPFLAG                                
030018,000053: 13,2210           00031                           ADRES    TRACKFLG                              
030019,000054: 
030020,000055: 13,2211           06037                           TC       INTPRET                               
030021,000056: 13,2212           77775                           VLOAD                                          
030022,000057: 13,2213           03434                                    DELVLVC                               
030023,000058: 13,2214           02223                           STORE    DELVOV                                
030024,000059: 13,2215           77776                           EXIT                                           
030025,000060: 
030026,000061: 13,2216           32336                           CAF      V06N84                                #  FLASH LAST DELTA V,
030027,000062: 13,2217           04616                           TC       BANKCALL                              #  AND WAIT FOR KEYBOARD ACTION.
030028,000063: 13,2220           20476                           CADR     GOFLASH                               
030029,000064: 13,2221           12333                           TCF      ENDP76                                
030030,000065: 13,2222           02224                           TC       +2                                    #  PROCEED
030031,000066: 13,2223           02216                           TC       -5                                    #  STORE DATA AND REPEAT FLASHING
030032,000067: 13,2224           32337                           CAF      V06N84     +1                         #  FLASH VERB 06 NOUN 33, DISPLAY LAST TIG,
030033,000068: 13,2225           04616                           TC       BANKCALL                              #  AND WAIT FOR KEYBOARD ACTION.
030034,000069: 13,2226           20476                           CADR     GOFLASH                               
030035,000070: 13,2227           12333                           TCF      ENDP76                                
030036,000071: 13,2230           02232                           TC       +2                                    
030037,000072: 13,2231           02224                           TC       -5                                    
030038,000073: 13,2232           06037                           TC       INTPRET                               #  RETURN TO INTERPRETIVE CODE

Page 710

030040,000075: 13,2233           77745                           DLOAD                                          #  SET D(MPAC)=TIG IN CSEC B28
030041,000076: 13,2234           03442                                    TIG                                   
030042,000077: 13,2235           34041                           STCALL   TDEC1                                 #  SET TDEC1=TIG FOR ORBITAL INTEGRATION
030043,000078: 13,2236           27043                                    OTHPREC                               
030044,000079: 13,2237           53575        COMPMAT            VLOAD    UNIT                                  
030045,000080: 13,2240           00001                                    RATT                                  
030046,000081: 13,2241           77676                           VCOMP                                          #  U(-R)
030047,000082: 13,2242           00031                           STORE    24D                                   #  U(-R) TO 24D
030048,000083: 13,2243           53435                           VXV      UNIT                                  #  U(-R) X V = U(V X R)
030049,000084: 13,2244           00007                                    VATT                                  
030050,000085: 13,2245           00023                           STORE    18D                                   
030051,000086: 13,2246           53435                           VXV      UNIT                                  #  U(V X R) X U(-R) = U((R X V) X R)
030052,000087: 13,2247           00031                                    24D                                   
030053,000088: 13,2250           24015                           STOVL    12D                                   
030054,000089: 13,2251           02223                                    DELVOV                                
030055,000090: 13,2252           76505                           VXM      VSL1                                  #  V(MPAC)=DELTA V IN REFCOSYS
030056,000091: 13,2253           00015                                    12D                                   
030057,000092: 13,2254           77655                           VAD                                            
030058,000093: 13,2255           00007                                    VATT                                  
030059,000094: 13,2256           00007                           STORE    6                                     #  V(PD6)=VATT + DELTA V
030060,000095: 13,2257           77624                           CALL                                           #  PREVENT WOULD-BE USER OF ORBITAL
030061,000096: 13,2260           27414                                    INTSTALL                              #  INTEG FROM INTERFERING WITH UPDATING
030062,000097: 13,2261           77624                           CALL                                           
030063,000098: 13,2262           26340                                    P76SUB1                               
030064,000099: 13,2263           53775                           VLOAD    VSR*                                  
030065,000100: 13,2264           00007                                    6                                     
030066,000101: 13,2265           57176                                    0,2                                   
030067,000102: 13,2266           25543                           STOVL    VCV                                   
030068,000103: 13,2267           00001                                    RATT                                  
030069,000104: 13,2270           77657                           VSR*                                           
030070,000105: 13,2271           57176                                    0,2                                   
030071,000106: 13,2272           15535                           STODL    RCV                                   
030072,000107: 13,2273           03442                                    TIG                                   
030073,000108: 13,2274           01517                           STORE    TET                                   
030074,000109: 13,2275           71214                           CLEAR    DLOAD                                 
030075,000110: 13,2276           01673                                    INTYPFLG                              
030076,000111: 13,2277           01643                                    TETTHIS                               
030077,000112: 13,2300           34041        INTOTHIS           STCALL   TDEC1                                 
030078,000113: 13,2301           27107                                    INTEGRVS                              
030079,000114: 13,2302           77624                           CALL                                           
030080,000115: 13,2303           27414                                    INTSTALL                              
030081,000116: 13,2304           77775                           VLOAD                                          
030082,000117: 13,2305           00017                                    RATT1                                 
030083,000118: 13,2306           01503                           STORE    RRECT                                 
030084,000119: 13,2307           15535                           STODL    RCV                                   
030085,000120: 13,2310           00015                                    TAT                                   
030086,000121: 13,2311           25517                           STOVL    TET                                   
030087,000122: 13,2312           00025                                    VATT1                                 
030088,000123: 13,2313           77624                           CALL                                           
030089,000124: 13,2314           23455                                    MINIRECT                              

Page 711

030091,000126: 13,2315           77776                           EXIT                                           
030092,000127: 13,2316           05353                           TC       PHASCHNG                              
030093,000128: 13,2317           04024                           OCT      04024                                 
030094,000129: 
030095,000130: 13,2320           05504                           TC       UPFLAG                                
030096,000131: 13,2321           00236                           ADRES    REINTFLG                              
030097,000132: 
030098,000133: 13,2322           06037                           TC       INTPRET                               
030099,000134: 13,2323           77624                           CALL                                           
030100,000135: 13,2324           26661                                    ATOPOTH                               
030101,000136: 13,2325           77531                           SSP      EXIT                                  
030102,000137: 13,2326           00053                                    QPRET                                 
030103,000138: 13,2327           26332                                    OUT                                   
030104,000139: 13,2330           04616                           TC       BANKCALL                              #  PERMIT USE OF ORBITAL INTEGRATION
030105,000140: 13,2331           27445                           CADR     INTWAKE1                              
030106,000141: 13,2332           77776        OUT                EXIT                                           
030107,000142: 13,2333           34755        ENDP76             CAF      ZERO                                  
030108,000143: 13,2334           55462                           TS       MARKCTR                               #  CLEAR RR TRACKING MARK COUNTER
030109,000144: 13,2335           16001                           TCF      GOTOPOOH                              
030110,000145: 
030111,000146: 13,2336           01524        V06N84             NV       0684                                  
030112,000147: 13,2337           01441                           NV       0633                                  
030113,000148: 13,2340           43174        P76SUB1            AXT,2    SET                                   
030114,000149: 13,2341           00002                                    2                                     
030115,000150: 13,2342           00063                                    MOONFLAG                              #  SET MEANS MOON IS SPHERE OF INFLUENCE.
030116,000151: 13,2343           77014                           BON      AXT,2                                 
030117,000152: 13,2344           04303                                    CMOONFLG                              #  SET MEANS PERM CM STATE IN LUNAR SPHERE.
030118,000153: 13,2345           00052                                    QPRET                                 
030119,000154: 13,2346           00000                                    0                                     
030120,000155: 13,2347           43414                           CLEAR    RVQ                                   
030121,000156: 13,2350           00263                                    MOONFLAG                              
030122,000157: 
030123,000158: 
030124,000159: 

End of include-file P76.agc.  Parent file is MAIN.agc