Source Code

These source-code files are part of a reconstructed copy of LUM69 Revision 2, the flown Apollo 10 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

The reconstruction began with source code of Luminary 69 revision 0 previously transcribed from a digitized copy of that program. The code was then updated by back-porting the R-2 lunar potential model from previously-transcribed source code of Luminary 99. These required changes were described in the original Luminary memos 75 and 78. The reconstructed code was verified by matching memory-bank checksums to those listed in drawing 2021152G. Note that page numbers in the reconstructed code match those on the Luminary 069 printout, although the added code would likely have changed page numbers for a real LUM69 Revision 2 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.

030760,000002:                                                                                                  ## Copyright:   Public domain.
030761,000003:                                                                                                  ## Filename:    R31.agc
030762,000004:                                                                                                  ## Purpose:     A section of LUM69 revision 2.
030763,000005:                                                                                                  ##              It is part of the reconstructed source code for the flown
030764,000006:                                                                                                  ##              version of the flight software for the Lunar Module's (LM)
030765,000007:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 10. The code has
030766,000008:                                                                                                  ##              been recreated from a copy of Luminary revsion 069, using
030767,000009:                                                                                                  ##              changes present in Luminary 099 which were described in
030768,000010:                                                                                                  ##              Luminary memos 75 and 78. The code has been adapted such
030769,000011:                                                                                                  ##              that the resulting bugger words exactly match those specified
030770,000012:                                                                                                  ##              for LUM69 revision 2 in NASA drawing 2021152B, which gives
030771,000013:                                                                                                  ##              relatively high confidence that the reconstruction is correct.
030772,000014:                                                                                                  ## Reference:   pp. 712-716
030773,000015:                                                                                                  ## Assembler:   yaYUL
030774,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
030775,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
030776,000018:                                                                                                  ## Mod history: 2019-07-27 MAS  Created from Luminary 69.
030777,000019: 

Page 712

030779,000021: 34,3271                                           BANK     34                                    
030780,000022: 37,2000                                           SETLOC   R31                                   
030781,000023: 37,2000                                           BANK                                           
030782,000024: 
030783,000025: 37,3113                                           COUNT*   $$/R31                                
030784,000026: 
030785,000027: 37,3113           35015        R31CALL            CAF      PRIO3                                 
030786,000028: 37,3114           05105                           TC       FINDVAC                               
030787,000029: 37,3115  E7,1466                                  EBANK=   SUBEXIT                               
030788,000030: 37,3115           03145 76067                     2CADR    V83CALL                               
030789,000031: 
030790,000032: 37,3117           05221        DSPDELAY           TC       FIXDELAY                              
030791,000033: 37,3120           00144                           DEC      100        B-14                       
030792,000034: 37,3121           31044                           CA       EXTVBACT                              
030793,000035: 37,3122           74740                           MASK     BIT12                                 
030794,000036: 37,3123           00006                           EXTEND                                         
030795,000037: 37,3124           13117                           BZF      DSPDELAY                              
030796,000038: 
030797,000039: 37,3125           35017                           CAF      PRIO5                                 
030798,000040: 37,3126           05072                           TC       NOVAC                                 
030799,000041: 37,3127  E7,1607                                  EBANK=   TSTRT                                 
030800,000042: 37,3127           03132 76067                     2CADR    DISPN5X                               
030801,000043: 
030802,000044: 37,3131           15261                           TCF      TASKOVER                              
030803,000045: 
030804,000046: 37,3132           33240        DISPN5X            CAF      V16N54                                
030805,000047: 37,3133           04616                           TC       BANKCALL                              
030806,000048: 37,3134           20212                           CADR     GOMARKF                               
030807,000049: 37,3135           05563                           TC       B5OFF                                 
030808,000050: 37,3136           05563                           TC       B5OFF                                 
030809,000051: 37,3137           13132                           TCF      DISPN5X                               
030810,000052: 
030811,000053: 37,3140           06036        V83                TC       INTPRET                               
030812,000054: 37,3141           77624                           CALL                                           
030813,000055: 37,3142           77371                                    REDOEXTP                              
030814,000056: 37,3143           77650                           GOTO                                           
030815,000057: 37,3144           77150                                    COMPDISP                              
030816,000058: 37,3145           06036        V83CALL            TC       INTPRET                               
030817,000059: 37,3146           77624                           CALL                                           
030818,000060: 37,3147           77241                                    STATEXTP                              #  EXTRAPOLATE STATE VECTORS
030819,000061: 37,3150           52375        COMPDISP           VLOAD    VSU                                   
030820,000062: 37,3151           00001                                    RATT                                  
030821,000063: 37,3152           02213                                    RONE                                  
030822,000064: 37,3153           51406                           PUSH     ABVAL                                 #  RATT-RONE TO 0D               PD = 6
030823,000065: 37,3154           02205                           STORE    RANGE                                 #  METERS B-29
030824,000066: 37,3155           77301                           NORM     VLOAD                                 
030825,000067: 37,3156           00047                                    X1                                    #  RATT-RONE                     PD = 0
030826,000068: 37,3157           53457                           VSL*     UNIT                                  
030827,000069: 37,3160           20201                                    0,1                                   

Page 713

030829,000071: 37,3161           52315                           PDVL     VSU                                   #  UNIT(LOS) TO 0D              PD = 6
030830,000072: 37,3162           00007                                    VATT                                  
030831,000073: 37,3163           02221                                    VONE                                  
030832,000074: 37,3164           77641                           DOT                                            #  (VATT-VONE).UNIT(LOS)        PD = 0
030833,000075: 37,3165           77752                           SL1                                            
030834,000076: 37,3166           26207                           STOVL    RRATE                                 #  RANGE RATE M/CS B-7
030835,000077: 37,3167           02213                                    RONE                                  
030836,000078: 37,3170           63256                           UNIT     PDVL                                  #  UR TO 0D                           PD = 6
030837,000079: 37,3171           06416                                    THISAXIS                              #  UNITX FOR CM, UNTIZ FOR LM
030838,000080: 37,3172           77624                           CALL                                           
030839,000081: 37,3173           47565                                    CDU*NBSM                              
030840,000082: 37,3174           41505                           VXM      PUSH                                  #  UXORZ TO 6D                  PD=12D
030841,000083: 37,3175           01734                                    REFSMMAT                              
030842,000084: 37,3176           72431                           VPROJ    VSL2                                  
030843,000085: 37,3177           00001                                    0D                                    
030844,000086: 37,3200           53445                           BVSU     UNIT                                  
030845,000087: 37,3201           00007                                    6D                                    
030846,000088: 37,3202           47315                           PDVL     VXV                                   #  UP/2 TO 12D                  PD=18D
030847,000089: 37,3203           02213                                    RONE                                  
030848,000090: 37,3204           02221                                    VONE                                  
030849,000091: 37,3205           47256                           UNIT     VXV                                   
030850,000092: 37,3206           02213                                    RONE                                  
030851,000093: 37,3207           63241                           DOT      PDVL                                  #  SIGN TO 12D, UP/2 TO MPAC    PD=18D
030852,000094: 37,3210           00015                                    12D                                   
030853,000095: 37,3211           50372                           VSL1     DOT                                   #  UP.UXORZ
030854,000096: 37,3212           00007                                    6D                                    
030855,000097: 37,3213           72565                           SIGN     SL1                                   
030856,000098: 37,3214           00015                                    12D                                   
030857,000099: 37,3215           77726                           ACOS                                           
030858,000100: 37,3216           26211                           STOVL    RTHETA                                
030859,000101: 37,3217           02213                                    RONE                                  
030860,000102: 37,3220           51041                           DOT      BPL                                   
030861,000103: 37,3221           00007                                    6D                                    
030862,000104: 37,3222           77227                                    +5                                    
030863,000105: 37,3223           44345                           DLOAD    BDSU                                  #  IF UXORZ.R NEG, RTHETA = 1 - RTHETA
030864,000106: 37,3224           02211                                    RTHETA                                
030865,000107: 37,3225           06432                                    DPPOSMAX                              
030866,000108: 37,3226           02211                           STORE    RTHETA                                #  RTHETA BETWEEN 0 AND 1 REV.
030867,000109: 37,3227           77776                           EXIT                                           
030868,000110: 37,3230           34747                           CAF      BIT5                                  #  HAVE WE BEEN ANSWERED
030869,000111: 37,3231           71044                           MASK     EXTVBACT                              
030870,000112: 37,3232           00006                           EXTEND                                         
030871,000113: 37,3233           15472                           BZF      ENDEXT                                #  YES, DIE
030872,000114: 
030873,000115: 37,3234           41044                           CS       EXTVBACT                              
030874,000116: 37,3235           74740                           MASK     BIT12                                 
030875,000117: 37,3236           27044                           ADS      EXTVBACT                              
030876,000118: 
030877,000119: 37,3237           13140                           TCF      V83                                   
030878,000120: 37,3240           04066        V16N54             VN       1654                                  
030879,000121: 

Page 714

030881,000123:                                                                                                  #  THE STATEXTP SUBROUTINE DOES A PRECISION EXTRAPOLATION OF BOTH VEHICLES
030882,000124:                                                                                                  #  STATE VECTORS TO PRESENT TIME AND SAVES THEM AS BASE VECTORS.
030883,000125:                                                                                                  #  IF SERVICER IS OFF ---
030884,000126:                                                                                                  #                  THIS VEHICLES BASE VECTOR IS CONIC EXTRAPOLATED TO
030885,000127:                                                                                                  #                  PRESENT TIME AND SAVED AS RONE, VONE.
030886,000128:                                                                                                  #                  THE OTHER VEHICLES BASE VECTOR IS CONIC EXTRAPOLATED
030887,000129:                                                                                                  #                  TO THE SAME TIME, THE OUTPUT BEING LEFT IN RATT, VATT.
030888,000130:                                                                                                  #  IF SERVICER IS ON ---
030889,000131:                                                                                                  #                  RONE, VONE ARE SET EQUAL TO RN, VN AND THE OTHER
030890,000132:                                                                                                  #                  VEHICLES STATE VECTOR IS PREC. EXTRAPOLATED TO PIPTIME.
030891,000133: 
030892,000134: 37,3241           47020        STATEXTP           STQ      RTB                                   
030893,000135: 37,3242           02116                                    STATEXIT                              
030894,000136: 37,3243           21462                                    LOADTIME                              
030895,000137: 37,3244           34041                           STCALL   TDEC1                                 
030896,000138: 37,3245           27043                                    OTHPREC                               #  GET BASE VECTORS
030897,000139: 37,3246           77775                           VLOAD                                          
030898,000140: 37,3247           00017                                    RATT1                                 
030899,000141: 37,3250           26140                           STOVL    BASEOTP                               #  OTHER POS.
030900,000142: 37,3251           00025                                    VATT1                                 
030901,000143: 37,3252           16120                           STODL    BASEOTV                               #  OTHER VEL.
030902,000144: 37,3253           00015                                    TAT                                   
030903,000145: 37,3254           02114                           STORE    BASETIME                              
030904,000146: 37,3255           34041                           STCALL   TDEC1                                 
030905,000147: 37,3256           27057                                    THISPREC                              
030906,000148: 37,3257           77775                           VLOAD                                          
030907,000149: 37,3260           00017                                    RATT1                                 
030908,000150: 37,3261           26170                           STOVL    BASETHP                               #  THIS POS.
030909,000151: 37,3262           00025                                    VATT1                                 
030910,000152: 37,3263           02105                           STORE    BASETHV                               #  THIS VEL
030911,000153: 37,3264           47014        HAVEBASE           BON      RTB                                   
030912,000154: 37,3265           03712                                    AVEGFLAG                              
030913,000155: 37,3266           77346                                    GETRVN                                #  IF AVG ON ,GET RN ETC.
030914,000156: 37,3267           21462                                    LOADTIME                              
030915,000157: 37,3270           52014                           BON      GOTO                                  #  TEST FOR LM ON SURFACE.
030916,000158: 37,3271           04307                                    SURFFLAG                              
030917,000159: 37,3272           77365                                    R31SURF                               
030918,000160: 37,3273           77274                                    +1                                    
030919,000161: 37,3274           34041                           STCALL   TDEC1                                 #  BEGIN SET UP FOR CONIC EXTRAP. FOR THIS.
030920,000162: 37,3275           27412                                    INTSTALL                              
030921,000163: 37,3276           43175                           VLOAD    CLEAR                                 
030922,000164: 37,3277           02170                                    BASETHP                               
030923,000165: 37,3300           00263                                    MOONFLAG                              
030924,000166: 37,3301           25535                           STOVL    RCV                                   
030925,000167: 37,3302           02105                                    BASETHV                               
030926,000168: 37,3303           15543                           STODL    VCV                                   
030927,000169: 37,3304           02114                                    BASETIME                              
030928,000170: 37,3305           43014                           BOF      SET                                   #  GET APPROPRIATE MOONFLAG SETTING
030929,000171: 37,3306           04344                                    MOONTHIS                              
030930,000172: 37,3307           77311                                    +2                                    
030931,000173: 37,3310           00063                                    MOONFLAG                              

Page 715

030933,000175: 37,3311           77614                           SET                                            
030934,000176: 37,3312           01473                                    INTYPFLG                              #  CONIC EXTRAP.
030935,000177: 37,3313           35517                           STCALL   TET                                   
030936,000178: 37,3314           27107                                    INTEGRVS                              #  INTEGRATION --- AT LAST---
030937,000179: 37,3315           77775        OTHCONIC           VLOAD                                          
030938,000180: 37,3316           00001                                    RATT                                  
030939,000181: 37,3317           26213                           STOVL    RONE                                  
030940,000182: 37,3320           00007                                    VATT                                  
030941,000183: 37,3321           36221                           STCALL   VONE                                  #  GET SET FOR CONIC EXTRAP.,OTHER.
030942,000184: 37,3322           27412                                    INTSTALL                              
030943,000185: 37,3323           71214                           SET      DLOAD                                 
030944,000186: 37,3324           01473                                    INTYPFLG                              
030945,000187: 37,3325           00015                                    TAT                                   
030946,000188: 37,3326           00041        OTHINT             STORE    TDEC1                                 
030947,000189: 37,3327           43175                           VLOAD    CLEAR                                 
030948,000190: 37,3330           02140                                    BASEOTP                               
030949,000191: 37,3331           00263                                    MOONFLAG                              
030950,000192: 37,3332           25535                           STOVL    RCV                                   
030951,000193: 37,3333           02120                                    BASEOTV                               
030952,000194: 37,3334           15543                           STODL    VCV                                   
030953,000195: 37,3335           02114                                    BASETIME                              
030954,000196: 37,3336           43014                           BOF      SET                                   
030955,000197: 37,3337           04344                                    MOONTHIS                              
030956,000198: 37,3340           77342                                    +2                                    
030957,000199: 37,3341           00063                                    MOONFLAG                              
030958,000200: 37,3342           35517                           STCALL   TET                                   
030959,000201: 37,3343           27107                                    INTEGRVS                              
030960,000202: 37,3344           77650                           GOTO                                           
030961,000203: 37,3345           02116                                    STATEXIT                              #  THIS VEHICLES POS.,VEL. IN PUSHLIST.
030962,000204: 37,3346           52175        GETRVN             VLOAD    GOTO                                  
030963,000205: 37,3347           01221                                    RN                                    
030964,000206: 37,3350           77351                                    +1                                    
030965,000207: 37,3351           36213                           STCALL   RONE                                  
030966,000208: 37,3352           77353                                    +1                                    
030967,000209: 37,3353           52175                           VLOAD    GOTO                                  
030968,000210: 37,3354           01227                                    VN                                    
030969,000211: 37,3355           77356                                    +1                                    
030970,000212: 37,3356           16221                           STODL    VONE                                  
030971,000213: 37,3357           01235                                    PIPTIME                               
030972,000214: 37,3360           77624        GETRVN2            CALL                                           
030973,000215: 37,3361           27412                                    INTSTALL                              
030974,000216: 37,3362           52014                           CLEAR    GOTO                                  
030975,000217: 37,3363           01673                                    INTYPFLG                              #  PREC EXTRAP FOR OTHER
030976,000218: 37,3364           77326                                    OTHINT                                
030977,000219: 37,3365           34041        R31SURF            STCALL   TDEC1                                 #  LM ON SURFACE.
030978,000220: 37,3366           27057                                    LEMPREC                               
030979,000221: 37,3367           77650                           GOTO                                           #  DO CSM CONIC
030980,000222: 37,3370           77315                                    OTHCONIC                              

Page 716

030982,000224: 37,3371           52020        REDOEXTP           STQ      GOTO                                  
030983,000225: 37,3372           02116                                    STATEXIT                              
030984,000226: 37,3373           77264                                    HAVEBASE                              
030985,000227: 

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