Source Code

This is an attempt to recreate Luminary 99 Rev 2, otherwise known as LUM99R2, from Luminary 99 Rev 1 and ephemeris data from Luminary 116. The differences are confined to the last 10-12 lines of the CONTROLLED CONSTANTS. Luminary 99 Rev 1 source-code was transcribed from a printout in the MIT Museum, while Luminary 116 source code was transcribed from a printout belonging to Don Eyles. AGC developer James Kernan, the "rope mother" for the Apollo 11 Lunar Module's AGC, explains as follows: "At the last minute, Dan Lickly, our chief engineer, appeared with ephemerides updates and it took two tries to get it right. The result was that we created Lum99 Revision 1 and Lum99 Revision 2." It is suspected that the former is what's in the MIT Museum, and the latter is what we are trying to recreate here. As for which revision actually flew in Apollo 11, all of the other available surviving evidence points to Rev 1 rather than to Rev 2, so we're just not sure!

029890,000002:                                                                                                  ## Copyright:   Public domain.
029891,000003:                                                                                                  ## Filename:    P76.agc
029892,000004:                                                                                                  ## Purpose:     Part of the source code for Luminary 1A build 099.
029893,000005:                                                                                                  ##              It is part of the source code for the Lunar Module's (LM)
029894,000006:                                                                                                  ##              Apollo Guidance Computer (AGC), for Apollo 11.
029895,000007:                                                                                                  ## Assembler:   yaYUL
029896,000008:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
029897,000009:                                                                                                  ## Website:     www.ibiblio.org/apollo.
029898,000010:                                                                                                  ## Pages:       709-711
029899,000011:                                                                                                  ## Mod history: 2009-05-19 RSB  Adapted from the corresponding 
029900,000012:                                                                                                  ##                              Luminary131 file, using page 
029901,000013:                                                                                                  ##                              images from Luminary 1A.
029902,000014:                                                                                                  ##              2016-12-13 RSB  GOTOP00H -> GOTOPOOH
029903,000015:                                                                                                  ##              2016-12-14 RSB  Proofed text comments with octopus/ProoferComments
029904,000016:                                                                                                  ##                              and corrected the errors found.
029905,000017:                                                                                                  ##              2017-03-03 RSB  Snapshot of Luminary 99 Rev 1. 
029906,000018: 

Page 709

029908,000020:                                                                                                  #  1)    PROGRAM NAME - TARGET DELTA V PROGRAM (P76).
029909,000021:                                                                                                  #  2)    FUNCTIONAL DESCRIPTION - UPON ENTRY BY ASTRONAUT ACTION, P76 FLASHES DSKY REQUESTS TO THE ASTRONAUT
029910,000022:                                                                                                  #        TO PROVIDE VIA DSKY (1) THE DELTA V TO BE APPLIED TO THE OTHER VEHICLE STATE VECTOR AND (2) THE
029911,000023:                                                                                                  #        TIME (TIG) AT WHICH THE OTHER VEHICLE VELOCITY WAS CHANGED BY EXECUTION OF A THRUSTING MANEUVER. THE
029912,000024:                                                                                                  #        OTHER VEHICLE STATE VECTOR IS INTEGRATED TO TIG AND UPDATED BY THE ADDITION OF DELTA V (DELTA V HAVING
029913,000025:                                                                                                  #        BEEN TRANSFORMED FROM LV TO REF COSYS).  USING INTEGRVS, THE PROGRAM THEN INTEGRATES THE OTHER
029914,000026:                                                                                                  #        VEHICLE STATE VECTOR TO THE STATE VECTOR OF THIS VEHICLE, THUS INSURING THAT THE W-MATRIX AND BOTH VEHICLE
029915,000027:                                                                                                  #        STATES CORRESPOND TO THE SAME TIME.
029916,000028:                                                                                                  #  3)    ERASABLE INITIALIZATION REQUIRED - NONE.
029917,000029:                                                                                                  #  4)    CALLING SEQUENCES AND EXIT MODES - CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76E.
029918,000030:                                                                                                  #        EXITS BY TCF ENDOFJOB.
029919,000031:                                                                                                  #  5)    OUTPUT - OTHER VEHICLE STATE VECTOR INTEGRATED TO TIG AND INCREMENTED BY DELTA V IN REF COSYS.
029920,000032:                                                                                                  #        THE PUSHLIST CONTAINS THE MATRIX BY WHICH THE INPUT DELTA V MUST BE POST-MULTIPLIED TO CONVERT FROM LV
029921,000033:                                                                                                  #        TO REF COSYS.
029922,000034:                                                                                                  #  6)    DEBRIS - OTHER VEHICLE STATE VECTOR.
029923,000035:                                                                                                  #  7)    SUBROUTINES CALLED - BANKCALL, GOXDSPF, CSMPREC (OR LEMPREC), ATOPCSM (OR ATOPLEM), INTSTALL, INTWAKE, PHASCHNG
029924,000036:                                                                                                  #        INTPRET, INTEGRVS, AND MINIRECT.
029925,000037:                                                                                                  #  8)    FLAG USE - MOONFLAG, CMOONFLAG, INTYPFLG, RASFLAG, AND MARKCTR.
029926,000038: 
029927,000039: 30,2061                                           BANK     30                                    
029928,000040: 13,2000                                           SETLOC   P76LOC                                
029929,000041: 13,2000                                           BANK                                           
029930,000042: 
029931,000043: 13,2207                                           COUNT*   $$/P76                                
029932,000044: 
029933,000045: 13,2207  E7,1441                                  EBANK=   TIG                                   
029934,000046: 
029935,000047: 13,2207           05504        P76                TC       UPFLAG                                
029936,000048: 13,2210           00031                           ADRES    TRACKFLG                              
029937,000049: 
029938,000050: 13,2211           06037                           TC       INTPRET                               
029939,000051: 13,2212           77775                           VLOAD                                          
029940,000052: 13,2213           03434                                    DELVLVC                               
029941,000053: 13,2214           02223                           STORE    DELVOV                                
029942,000054: 13,2215           77776                           EXIT                                           
029943,000055: 
029944,000056: 13,2216           32336                           CAF      V06N84                                #  FLASH LAST DELTA V,
029945,000057: 13,2217           04616                           TC       BANKCALL                              #  AND WAIT FOR KEYBOARD ACTION.
029946,000058: 13,2220           20476                           CADR     GOFLASH                               
029947,000059: 13,2221           12333                           TCF      ENDP76                                
029948,000060: 13,2222           02224                           TC       +2                                    #  PROCEED
029949,000061: 13,2223           02216                           TC       -5                                    #  STORE DATA AND REPEAT FLASHING
029950,000062: 13,2224           32337                           CAF      V06N84     +1                         #  FLASH VERB 06 NOUN 33, DISPLAY LAST TIG,
029951,000063: 13,2225           04616                           TC       BANKCALL                              #  AND WAIT FOR KEYBOARD ACTION.
029952,000064: 13,2226           20476                           CADR     GOFLASH                               
029953,000065: 13,2227           12333                           TCF      ENDP76                                
029954,000066: 13,2230           02232                           TC       +2                                    
029955,000067: 13,2231           02224                           TC       -5                                    
029956,000068: 13,2232           06037                           TC       INTPRET                               #  RETURN TO INTERPRETIVE CODE

Page 710

029958,000070: 13,2233           77745                           DLOAD                                          #  SET D(MPAC)=TIG IN CSEC B28
029959,000071: 13,2234           03442                                    TIG                                   
029960,000072: 13,2235           34041                           STCALL   TDEC1                                 #  SET TDEC1=TIG FOR ORBITAL INTEGRATION
029961,000073: 13,2236           27043                                    OTHPREC                               
029962,000074: 13,2237           53575        COMPMAT            VLOAD    UNIT                                  
029963,000075: 13,2240           00001                                    RATT                                  
029964,000076: 13,2241           77676                           VCOMP                                          #  U(-R)
029965,000077: 13,2242           00031                           STORE    24D                                   #  U(-R) TO 24D
029966,000078: 13,2243           53435                           VXV      UNIT                                  #  U(-R) X V = U(V X R)
029967,000079: 13,2244           00007                                    VATT                                  
029968,000080: 13,2245           00023                           STORE    18D                                   
029969,000081: 13,2246           53435                           VXV      UNIT                                  #  U(V X R) X U(-R) = U((R X V) X R)
029970,000082: 13,2247           00031                                    24D                                   
029971,000083: 13,2250           24015                           STOVL    12D                                   
029972,000084: 13,2251           02223                                    DELVOV                                
029973,000085: 13,2252           76505                           VXM      VSL1                                  #  V(MPAC)=DELTA V IN REFCOSYS
029974,000086: 13,2253           00015                                    12D                                   
029975,000087: 13,2254           77655                           VAD                                            
029976,000088: 13,2255           00007                                    VATT                                  
029977,000089: 13,2256           00007                           STORE    6                                     #  V(PD6)=VATT + DELTA V
029978,000090: 13,2257           77624                           CALL                                           #  PREVENT WOULD-BE USER OF ORBITAL
029979,000091: 13,2260           27414                                    INTSTALL                              #  INTEG FROM INTERFERING WITH UPDATING
029980,000092: 13,2261           77624                           CALL                                           
029981,000093: 13,2262           26340                                    P76SUB1                               
029982,000094: 13,2263           53775                           VLOAD    VSR*                                  
029983,000095: 13,2264           00007                                    6                                     
029984,000096: 13,2265           57176                                    0,2                                   
029985,000097: 13,2266           25543                           STOVL    VCV                                   
029986,000098: 13,2267           00001                                    RATT                                  
029987,000099: 13,2270           77657                           VSR*                                           
029988,000100: 13,2271           57176                                    0,2                                   
029989,000101: 13,2272           15535                           STODL    RCV                                   
029990,000102: 13,2273           03442                                    TIG                                   
029991,000103: 13,2274           01517                           STORE    TET                                   
029992,000104: 13,2275           71214                           CLEAR    DLOAD                                 
029993,000105: 13,2276           01673                                    INTYPFLG                              
029994,000106: 13,2277           01643                                    TETTHIS                               
029995,000107: 13,2300           34041        INTOTHIS           STCALL   TDEC1                                 
029996,000108: 13,2301           27107                                    INTEGRVS                              
029997,000109: 13,2302           77624                           CALL                                           
029998,000110: 13,2303           27414                                    INTSTALL                              
029999,000111: 13,2304           77775                           VLOAD                                          
030000,000112: 13,2305           00017                                    RATT1                                 
030001,000113: 13,2306           01503                           STORE    RRECT                                 
030002,000114: 13,2307           15535                           STODL    RCV                                   
030003,000115: 13,2310           00015                                    TAT                                   
030004,000116: 13,2311           25517                           STOVL    TET                                   
030005,000117: 13,2312           00025                                    VATT1                                 
030006,000118: 13,2313           77624                           CALL                                           
030007,000119: 13,2314           23455                                    MINIRECT                              

Page 711

030009,000121: 13,2315           77776                           EXIT                                           
030010,000122: 13,2316           05353                           TC       PHASCHNG                              
030011,000123: 13,2317           04024                           OCT      04024                                 
030012,000124: 
030013,000125: 13,2320           05504                           TC       UPFLAG                                
030014,000126: 13,2321           00236                           ADRES    REINTFLG                              
030015,000127: 
030016,000128: 13,2322           06037                           TC       INTPRET                               
030017,000129: 13,2323           77624                           CALL                                           
030018,000130: 13,2324           26661                                    ATOPOTH                               
030019,000131: 13,2325           77531                           SSP      EXIT                                  
030020,000132: 13,2326           00053                                    QPRET                                 
030021,000133: 13,2327           26332                                    OUT                                   
030022,000134: 13,2330           04616                           TC       BANKCALL                              #  PERMIT USE OF ORBITAL INTEGRATION
030023,000135: 13,2331           27445                           CADR     INTWAKE1                              
030024,000136: 13,2332           77776        OUT                EXIT                                           
030025,000137: 13,2333           34755        ENDP76             CAF      ZERO                                  
030026,000138: 13,2334           55462                           TS       MARKCTR                               #  CLEAR RR TRACKING MARK COUNTER
030027,000139: 13,2335           16001                           TCF      GOTOPOOH                              
030028,000140: 
030029,000141: 13,2336           01524        V06N84             NV       0684                                  
030030,000142: 13,2337           01441                           NV       0633                                  
030031,000143: 13,2340           43174        P76SUB1            AXT,2    SET                                   
030032,000144: 13,2341           00002                                    2                                     
030033,000145: 13,2342           00063                                    MOONFLAG                              #  SET MEANS MOON IS SPHERE OF INFLUENCE.
030034,000146: 13,2343           77014                           BON      AXT,2                                 
030035,000147: 13,2344           04303                                    CMOONFLG                              #  SET MEANS PERM CM STATE IN LUNAR SPHERE.
030036,000148: 13,2345           00052                                    QPRET                                 
030037,000149: 13,2346           00000                                    0                                     
030038,000150: 13,2347           43414                           CLEAR    RVQ                                   
030039,000151: 13,2350           00263                                    MOONFLAG                              
030040,000152: 
030041,000153: 
030042,000154: 

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