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.

015033,000002:                                                                                                  ## Copyright:   Public domain.
015034,000003:                                                                                                  ## Filename:    KALCMANU_STEERING.agc
015035,000004:                                                                                                  ## Purpose:     A section of Luminary revision 97.
015036,000005:                                                                                                  ##              It is part of the reconstructed source code for the
015037,000006:                                                                                                  ##              second release of the flight software for the Lunar 
015038,000007:                                                                                                  ##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 11.
015039,000008:                                                                                                  ##              It was created to fix two incorrect ephemeris constants in
015040,000009:                                                                                                  ##              Luminary 96, as described by anomaly report LNY-59.
015041,000010:                                                                                                  ##              The code has been recreated from a copy of Luminary 99
015042,000011:                                                                                                  ##              revision 001, using asterisks indicating changed lines in
015043,000012:                                                                                                  ##              the listing and Luminary Memos #83 and #85, which list 
015044,000013:                                                                                                  ##              changes between Luminary 97 and 98, and 98 and 99. The
015045,000014:                                                                                                  ##              code has been adapted such that the resulting bugger words
015046,000015:                                                                                                  ##              exactly match those specified for Luminary 97 in NASA drawing
015047,000016:                                                                                                  ##              2021152D, which gives relatively high confidence that the
015048,000017:                                                                                                  ##              reconstruction is correct.
015049,000018:                                                                                                  ## Reference:   pp. 365-369
015050,000019:                                                                                                  ## Assembler:   yaYUL
015051,000020:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
015052,000021:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
015053,000022:                                                                                                  ## Mod history: 2019-07-28 MAS  Created from Luminary 99.
015054,000023: 

Page 365

015056,000025:                                                                                                  #  GENERATION OF STEERING COMMANDS FOR DIGITAL AUTOPILOT FREE FALL MANEUVERS
015057,000026: 
015058,000027:                                                                                                  #  NEW COMMANDS WILL BE GENERATED EVERY ONE SECOND DURING THE MANEUVER
015059,000028: 
015060,000029: 22,3003  E6,1707                                  EBANK=   TTEMP                                 
015061,000030: 
015062,000031: 22,3003           04616        NEWDELHI           TC       BANKCALL                              #  CHECK FOR AUTO STABILIZATION
015063,000032: 22,3004           54262                           CADR     ISITAUTO                              #  ONLY
015064,000033: 22,3005           10000                           CCS      A                                     
015065,000034: 22,3006           12730                           TCF      NOGO       -2                         
015066,000035: 22,3007           06037        NEWANGL            TC       INTPRET                               
015067,000036: 22,3010           75160                           AXC,1    AXC,2                                 
015068,000037: 22,3011           03246                                    MIS                                   #  COMPUTE THE NEW MATRIX FROM S/C TO
015069,000038: 22,3012           02230                                    KEL                                   #  STABLE MEMBER AXES
015070,000039: 22,3013           77624                           CALL                                           
015071,000040: 22,3014           44312                                    MXM3                                  
015072,000041: 22,3015           45575                           VLOAD    STADR                                 
015073,000042: 22,3016           50514                           STOVL    MIS        +12D                       #  CALCULATE NEW DESIRED CDU ANGLES
015074,000043: 22,3017           77626                           STADR                                          
015075,000044: 22,3020           50522                           STOVL    MIS        +6D                        
015076,000045: 22,3021           77626                           STADR                                          
015077,000046: 22,3022           74530                           STORE    MIS                                   
015078,000047: 22,3023           45160                           AXC,1    CALL                                  
015079,000048: 22,3024           03246                                    MIS                                   
015080,000049: 22,3025           44654                                    DCMTOCDU                              #  PICK UP THE NEW CDU ANGLES FROM MATRIX
015081,000050: 22,3026           77634                           RTB                                            
015082,000051: 22,3027           21620                                    V1STO2S                               
015083,000052: 22,3030           03304                           STORE    NCDU                                  #  NEW CDU ANGLES
015084,000053: 22,3031           77414                           BONCLR   EXIT                                  
015085,000054: 22,3032           01215                                    CALCMAN2                              
015086,000055: 22,3033           45122                                    MANUSTAT                              #  TO START MANEUVER
015087,000056: 22,3034           34752                           CAF      TWO                                   #        +0 OTHERWISE
015088,000057: 22,3035           55272        INCRDCDU           TS       SPNDX                                 
015089,000058: 22,3036           51272                           INDEX    SPNDX                                 
015090,000059: 22,3037           31676                           CA       BCDU                                  #  INITIAL CDU ANGLES
015091,000060: 22,3040           00006                           EXTEND                                         #  OR PREVIOUS DESIRED CDU ANGLES
015092,000061: 22,3041           51272                           INDEX    SPNDX                                 
015093,000062: 22,3042           21703                           MSU      NCDU                                  
015094,000063: 22,3043           00006                           EXTEND                                         
015095,000064: 22,2000                                           SETLOC   KALCMON1                              
015096,000065: 22,2000                                           BANK                                           
015097,000066: 
015098,000067: 22,3044           73121                           MP       DT/TAU                                
015099,000068: 22,3045           10000                           CCS      A                                     #  CONVERT TO 2S COMPLEMENT
015100,000069: 22,3046           64753                           AD       ONE                                   
015101,000070: 22,3047           13051                           TCF      +2                                    
015102,000071: 22,3050           40000                           COM                                            
015103,000072: 22,3051           51272                           INDEX    SPNDX                                 
015104,000073: 22,3052           55640                           TS       DELDCDU                               #  ANGLE INCREMENTS TO BE ADDED TO
015105,000074: 22,3053           51272                           INDEX    SPNDX                                 #  CDUXD, CDUYD, CDUZD EVERY TENTH SECOND

Page 366

015107,000076: 22,3054           31703                           CA       NCDU                                  #  BY LEM DAP
015108,000077: 22,3055           51272                           INDEX    SPNDX                                 
015109,000078: 22,3056           57676                           XCH      BCDU                                  
015110,000079: 22,3057           51272                           INDEX    SPNDX                                 
015111,000080: 22,3060           55635                           TS       CDUXD                                 
015112,000081: 22,3061           11272                           CCS      SPNDX                                 
015113,000082: 22,3062           13035                           TCF      INCRDCDU                              #  LOOP FOR THREE AXES
015114,000083: 
015115,000084: 22,3063           00003                           RELINT                                         
015116,000085: 
015117,000086:                                                                                                  #  COMPARE PRESENT TIME WITH TIME TO TERMINATE MANEUVER
015118,000087: 
015119,000088: 22,3064           03075        TMANUCHK           TC       TIMECHK                               
015120,000089: 22,3065           13170                           TCF      CONTMANU                              
015121,000090: 22,3066           34753                           CAF      ONE                                   
015122,000091: 22,3067           00004        MANUSTAL           INHINT                                         #  END MAJOR PART OF MANEUVER WITHIN 1 SEC
015123,000092: 22,3070           05203                           TC       WAITLIST                              #  UNDER WAITLIST CALL TO MANUSTOP
015124,000093: 22,3071  E6,1707                                  EBANK=   TTEMP                                 
015125,000094: 22,3071           03213 44066                     2CADR    MANUSTOP                              
015126,000095: 
015127,000096: 22,3073           00003                           RELINT                                         
015128,000097: 22,3074           15155                           TCF      ENDOFJOB                              
015129,000098: 
015130,000099: 22,3075           00006        TIMECHK            EXTEND                                         
015131,000100: 22,3076           40025                           DCS      TIME2                                 
015132,000101: 22,3077           53710                           DXCH     TTEMP                                 
015133,000102: 22,3100           00006                           EXTEND                                         
015134,000103: 22,3101           31734                           DCA      TM                                    
015135,000104: 22,3102           21710                           DAS      TTEMP                                 
015136,000105: 22,3103           11707                           CCS      TTEMP                                 
015137,000106: 22,3104           00002                           TC       Q                                     
015138,000107: 22,3105           13107                           TCF      +2                                    
015139,000108: 22,3106           13117                           TCF      2NDRETRN                              
015140,000109: 22,3107           11710                           CCS      TTEMP      +1                         
015141,000110: 22,3110           00002                           TC       Q                                     
015142,000111: 22,3111           13113                           TCF      MANUOFF                               
015143,000112: 22,3112           40000                           COM                                            
015144,000113: 22,3113           63166        MANUOFF            AD       ONESEK     +1                         
015145,000114: 22,3114           00006                           EXTEND                                         
015146,000115: 22,3115           63117                           BZMF     2NDRETRN                              
015147,000116: 22,3116           24002                           INCR     Q                                     
015148,000117: 22,3117           24002        2NDRETRN           INCR     Q                                     
015149,000118: 22,3120           00002                           TC       Q                                     
015150,000119: 
015151,000120: 22,3121           03146        DT/TAU             DEC      .1                                    
015152,000121: 
015153,000122: 22,3122           77776        MANUSTAT           EXIT                                           #  INITIALIZATION ROUTINE
015154,000123: 22,3123           00006                           EXTEND                                         #  FOR AUTOMATIC MANEUVERS
015155,000124: 22,3124           30025                           DCA      TIME2                                 

Page 367

015157,000126: 22,3125           21734                           DAS      TM                                    #  TM+T0         MANEUVER COMPLETION TIME
015158,000127: 22,3126           00006                           EXTEND                                         
015159,000128: 22,3127           43166                           DCS      ONESEK                                
015160,000129: 22,3130           21734                           DAS      TM                                    #  (TM+T0)-1
015161,000130: 22,3131           00004                           INHINT                                         
015162,000131: 22,3132           34752                           CAF      TWO                                   
015163,000132: 22,3133           55701        RATEBIAS           TS       KSPNDX                                
015164,000133: 22,3134           60000                           DOUBLE                                         
015165,000134: 22,3135           55702                           TS       KDPNDX                                
015166,000135: 22,3136           50000                           INDEX    A                                     
015167,000136: 22,3137           31725                           CA       BRATE                                 
015168,000137: 22,3140           51701                           INDEX    KSPNDX                                #  STORE MANEUVER RATE IN
015169,000138: 22,3141           55643                           TS       OMEGAPD                               #  OMEGAPD, OMEGAQD, OMEGARD
015170,000139: 22,3142           00006                           EXTEND                                         
015171,000140: 22,3143           63145                           BZMF     +2                                    #  COMPUTE ATTITUDE ERROR
015172,000141: 22,3144           40000                           COM                                            #  OFFSET = (WX)ABS(WX)/2AJX
015173,000142: 22,3145           00006                           EXTEND                                         #  WHERE AJX= 2-JET ACCELERATION
015174,000143: 22,3146           73167                           MP       BIASCALE                              #  = -1/16
015175,000144: 22,3147           00006                           EXTEND                                         
015176,000145: 22,3150           51702                           INDEX    KDPNDX                                
015177,000146: 22,3151           71725                           MP       BRATE                                 
015178,000147: 22,3152           00006                           EXTEND                                         
015179,000148: 22,3153           51701                           INDEX    KSPNDX                                
015180,000149: 22,3154           11530                           DV       1JACC                                 #  = AJX         $ 90 DEG/SEC-SEC
015181,000150: 22,3155           51701                           INDEX    KSPNDX                                
015182,000151: 22,3156           55277                           TS       DELPEROR                              #                $ 180 DEG
015183,000152: 22,3157           11701                           CCS      KSPNDX                                
015184,000153: 22,3160           13133                           TCF      RATEBIAS                              
015185,000154: 
015186,000155: 22,3161           30025                           CA       TIME1                                 
015187,000156: 22,3162           63166                           AD       ONESEK     +1                         
015188,000157: 22,3163           57706                           XCH      NEXTIME                               
015189,000158: 22,3164           13034                           TCF      INCRDCDU   -1                         
015190,000159: 
015191,000160: 22,3165           00000        ONESEK             DEC      0          B-14                       
015192,000161: 22,3166           00144                           DEC      100        B-14                       
015193,000162: 
015194,000163: 22,3167           75777        BIASCALE           OCT      75777                                 #  = -1/16
015195,000164: 
015196,000165: 22,3170           40025        CONTMANU           CS       TIME1                                 #  RESET FOR NEXT DCDU UPDATE
015197,000166: 22,3171           61706                           AD       NEXTIME                               
015198,000167: 22,3172           10000                           CCS      A                                     
015199,000168: 22,3173           64753                           AD       ONE                                   
015200,000169: 22,3174           13177                           TCF      MANUCALL                              
015201,000170: 22,3175           64735                           AD       NEGMAX                                
015202,000171: 22,3176           40000                           COM                                            
015203,000172: 22,3177           00004        MANUCALL           INHINT                                         #  CALL FOR NEXT UPDATE VIA WAITLIST
015204,000173: 22,3200           05203                           TC       WAITLIST                              
015205,000174: 22,3201  E6,1707                                  EBANK=   TTEMP                                 
015206,000175: 22,3201           03206 44066                     2CADR    UPDTCALL                              

Page 368

015208,000177: 22,3203           33166                           CAF      ONESEK     +1                         #  INCREMENT TIME FOR NEXT UPDATE
015209,000178: 22,3204           27706                           ADS      NEXTIME                               
015210,000179: 22,3205           15155                           TCF      ENDOFJOB                              
015211,000180: 
015212,000181: 22,3206           37714        UPDTCALL           CAF      PRIO26                                #  SATELLITE PROGRAM TO CALL FOR UPDATE
015213,000182: 22,3207           05105                           TC       FINDVAC                               #  OF STEERING COMMANDS
015214,000183: 22,3210  E6,1707                                  EBANK=   TTEMP                                 
015215,000184: 22,3210           03003 44066                     2CADR    NEWDELHI                              
015216,000185: 
015217,000186: 22,3212           05261                           TC       TASKOVER                              
015218,000187: 

Page 369

015220,000189:                                                                                                  #  ROUTINE FOR TERMINATING AUTOMATIC MANEUVERS
015221,000190: 
015222,000191: 22,3213           34755        MANUSTOP           CAF      ZERO                                  #  ZERO MANEUVER RATES
015223,000192: 22,3214           55642                           TS       DELDCDU2                              
015224,000193: 22,3215           55645                           TS       OMEGARD                               
015225,000194: 22,3216           55301                           TS       DELREROR                              
015226,000195: 22,3217           55641                           TS       DELDCDU1                              
015227,000196: 22,3220           55644                           TS       OMEGAQD                               
015228,000197: 22,3221           55300                           TS       DELQEROR                              
015229,000198: 22,3222           30323                           CA       CPSI                                  #  SET DESIRED GIMBAL ANGLES TO
015230,000199: 22,3223           55637                           TS       CDUZD                                 #  DESIRED FINAL GIMBAL ANGLES
015231,000200: 22,3224           30322                           CA       CTHETA                                
015232,000201: 22,3225           55636                           TS       CDUYD                                 
015233,000202: 22,3226           30321        ENDROLL            CA       CPHI                                  #  NO FINAL YAW
015234,000203: 22,3227           55635                           TS       CDUXD                                 
015235,000204: 22,3230           34755                           CAF      ZERO                                  
015236,000205: 22,3231           55643                           TS       OMEGAPD                               #  I.E. MANEUVER DID NOT GO THRU
015237,000206: 22,3232           55640                           TS       DELDCDU                               #  GIMBAL LOCK ORIGINALLY
015238,000207: 22,3233           55277                           TS       DELPEROR                              
015239,000208: 22,3234           31311        GOODMANU           CA       ATTPRIO                               #  RESTORE USERS PRIO
015240,000209: 22,3235           54063                           TS       NEWPRIO                               
015241,000210: 
015242,000211: 22,3236           34755                           CA       ZERO                                  #  ZERO ATTCADR
015243,000212: 22,3237           53310                           DXCH     ATTCADR                               
015244,000213: 
015245,000214: 22,3240           05116                           TC       SPVAC                                 #  RETURN TO USER
015246,000215: 
015247,000216: 22,3241           05261                           TC       TASKOVER                              
015248,000217: 
015249,000218: 

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