Source Code

These source-code files were transcribed from scans made from Don Eyles's personal copy of Luminary 069. They were scanned at archive.org's Boston facility, and the scanning was sponsored by Onno Hommes. The code was transcribed from these scans by a team of volunteers who are referenced in the program comments. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". In some cases, where similar code blocks exist in previously-transcribed AGC programs (primarily Luminary 99, from Apollo 11) those code blocks were used as a starting point and then corrected to agree with the Luminary 69 scans. The full scans are available at the Virtual AGC project's collection at archive.org, while more-convenient reduced-size (but reduced-quality) images are available at the main Virtual AGC website. Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. Notations on the program listing read, in part:

	GAP:  ASSEMBLE REVISION 069 OF AGC PROGRAM LUMINARY BY NASA 2021112-011
	19:02 NOV. 25,1968
Note that the date is the date of the printout, not the date of the program revision.

016376,000002:                                                                                                  ## Copyright:   Public domain.
016377,000003:                                                                                                  ## Filename:    KALCMANU_STEERING.agc
016378,000004:                                                                                                  ## Purpose:     The main source file for Luminary revision 069.
016379,000005:                                                                                                  ##              It is part of the source code for the original release
016380,000006:                                                                                                  ##              of the flight software for the Lunar Module's (LM) Apollo
016381,000007:                                                                                                  ##              Guidance Computer (AGC) for Apollo 10. The actual flown
016382,000008:                                                                                                  ##              version was Luminary 69 revision 2, which included a
016383,000009:                                                                                                  ##              newer lunar gravity model and only affected module 2.
016384,000010:                                                                                                  ##              This file is intended to be a faithful transcription, except
016385,000011:                                                                                                  ##              that the code format has been changed to conform to the
016386,000012:                                                                                                  ##              requirements of the yaYUL assembler rather than the
016387,000013:                                                                                                  ##              original YUL assembler.
016388,000014:                                                                                                  ## Reference:   pp. 378-382
016389,000015:                                                                                                  ## Assembler:   yaYUL
016390,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
016391,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
016392,000018:                                                                                                  ## Mod history: 2016-12-13 MAS  Created from Luminary 99.
016393,000019:                                                                                                  ##              2016-12-14 MAS  Updated from comment-proofed Luminary 99 version.
016394,000020:                                                                                                  ##              2017-01-17 RRB  Updated for Luminary 69.
016395,000021:                                                                                                  ##              2017-01-27 RSB  Proofed comment text using octopus/prooferComments
016396,000022:                                                                                                  ##                              and fixed errors found.
016397,000023:                                                                                                  ##              2017-03-07 RSB  Removed yaYUL workaround that no longer 
016398,000024:                                                                                                  ##                              seems to be needed.
016399,000025:                                                                                                  ##              2017-03-17 RSB  Comment-text fixes identified in diff'ing
016400,000026:                                                                                                  ##                              Luminary 99 vs Comanche 55.
016401,000027: 

Page 378

016403,000029:                                                                                                  #  GENERATION OF STEERING COMMANDS FOR DIGITAL AUTOPILOT FREE FALL MANEUVERS
016404,000030: 
016405,000031:                                                                                                  #  NEW COMMANDS WILL BE GENERATED EVERY ONE SECOND DURING THE MANEUVER
016406,000032: 
016407,000033: 22,3003  E6,1705                                  EBANK=   TTEMP                                 
016408,000034: 
016409,000035: 22,3003           04616        NEWDELHI           TC       BANKCALL                              #  CHECK FOR AUTO STABILIZATION
016410,000036: 22,3004           54240                           CADR     ISITAUTO                              #  ONLY
016411,000037: 22,3005           10000                           CCS      A                                     
016412,000038: 22,3006           12730                           TCF      NOGO       -2                         
016413,000039: 22,3007           06036        NEWANGL            TC       INTPRET                               
016414,000040: 22,3010           75160                           AXC,1    AXC,2                                 
016415,000041: 22,3011           03244                                    MIS                                   #  COMPUTE THE NEW MATRIX FROM S/C TO
016416,000042: 22,3012           02234                                    KEL                                   #  STABLE MEMBER AXES
016417,000043: 22,3013           77624                           CALL                                           
016418,000044: 22,3014           44312                                    MXM3                                  
016419,000045: 22,3015           45575                           VLOAD    STADR                                 
016420,000046: 22,3016           50516                           STOVL    MIS        +12D                       #  CALCULATE NEW DESIRED CDU ANGLES
016421,000047: 22,3017           77626                           STADR                                          
016422,000048: 22,3020           50524                           STOVL    MIS        +6D                        
016423,000049: 22,3021           77626                           STADR                                          
016424,000050: 22,3022           74532                           STORE    MIS                                   
016425,000051: 22,3023           45160                           AXC,1    CALL                                  
016426,000052: 22,3024           03244                                    MIS                                   
016427,000053: 22,3025           44654                                    DCMTOCDU                              #  PICK UP THE NEW CDU ANGLES FROM MATRIX
016428,000054: 22,3026           77634                           RTB                                            
016429,000055: 22,3027           21524                                    V1STO2S                               
016430,000056: 22,3030           03302                           STORE    NCDU                                  #  NEW CDU ANGLES
016431,000057: 22,3031           77414                           BONCLR   EXIT                                  
016432,000058: 22,3032           01215                                    CALCMAN2                              
016433,000059: 22,3033           45122                                    MANUSTAT                              #  TO START MANEUVER
016434,000060: 22,3034           34752                           CAF      TWO                                   #        +0 OTHERWISE
016435,000061: 22,3035           55272        INCRDCDU           TS       SPNDX                                 
016436,000062: 22,3036           51272                           INDEX    SPNDX                                 
016437,000063: 22,3037           31674                           CA       BCDU                                  #  INITIAL CDU ANGLES
016438,000064: 22,3040           00006                           EXTEND                                         #  OR PREVIOUS DESIRED CDU ANGLES
016439,000065: 22,3041           51272                           INDEX    SPNDX                                 
016440,000066: 22,3042           21701                           MSU      NCDU                                  
016441,000067: 22,3043           00006                           EXTEND                                         
016442,000068: 22,2000                                           SETLOC   KALCMON1                              
016443,000069: 22,2000                                           BANK                                           
016444,000070: 
016445,000071: 22,3044           73121                           MP       DT/TAU                                
016446,000072: 22,3045           10000                           CCS      A                                     #  CONVERT TO 2S COMPLEMENT
016447,000073: 22,3046           64753                           AD       ONE                                   
016448,000074: 22,3047           13051                           TCF      +2                                    
016449,000075: 22,3050           40000                           COM                                            
016450,000076: 22,3051           51272                           INDEX    SPNDX                                 
016451,000077: 22,3052           55636                           TS       DELDCDU                               #  ANGLE INCREMENTS TO BE ADDED TO
016452,000078: 22,3053           51272                           INDEX    SPNDX                                 #  CDUXD, CDUYD, CDUZD EVERY TENTH SECOND

Page 379

016454,000080: 22,3054           31701                           CA       NCDU                                  #  BY LEM DAP
016455,000081: 22,3055           51272                           INDEX    SPNDX                                 
016456,000082: 22,3056           57674                           XCH      BCDU                                  
016457,000083: 22,3057           51272                           INDEX    SPNDX                                 
016458,000084: 22,3060           55633                           TS       CDUXD                                 
016459,000085: 22,3061           11272                           CCS      SPNDX                                 
016460,000086: 22,3062           13035                           TCF      INCRDCDU                              #  LOOP FOR THREE AXES
016461,000087: 
016462,000088: 22,3063           00003                           RELINT                                         
016463,000089: 
016464,000090:                                                                                                  #  COMPARE PRESENT TIME WITH TIME TO TERMINATE MANEUVER
016465,000091: 
016466,000092: 22,3064           03075        TMANUCHK           TC       TIMECHK                               
016467,000093: 22,3065           13170                           TCF      CONTMANU                              
016468,000094: 22,3066           34753                           CAF      ONE                                   
016469,000095: 22,3067           00004        MANUSTAL           INHINT                                         #  END MAJOR PART OF MANEUVER WITHIN 1 SEC
016470,000096: 22,3070           05203                           TC       WAITLIST                              #  UNDER WAITLIST CALL TO MANUSTOP
016471,000097: 22,3071  E6,1705                                  EBANK=   TTEMP                                 
016472,000098: 22,3071           03213 44066                     2CADR    MANUSTOP                              
016473,000099: 
016474,000100: 22,3073           00003                           RELINT                                         
016475,000101: 22,3074           15155                           TCF      ENDOFJOB                              
016476,000102: 
016477,000103: 22,3075           00006        TIMECHK            EXTEND                                         
016478,000104: 22,3076           40025                           DCS      TIME2                                 
016479,000105: 22,3077           53706                           DXCH     TTEMP                                 
016480,000106: 22,3100           00006                           EXTEND                                         
016481,000107: 22,3101           31732                           DCA      TM                                    
016482,000108: 22,3102           21706                           DAS      TTEMP                                 
016483,000109: 22,3103           11705                           CCS      TTEMP                                 
016484,000110: 22,3104           00002                           TC       Q                                     
016485,000111: 22,3105           13107                           TCF      +2                                    
016486,000112: 22,3106           13117                           TCF      2NDRETRN                              
016487,000113: 22,3107           11706                           CCS      TTEMP      +1                         
016488,000114: 22,3110           00002                           TC       Q                                     
016489,000115: 22,3111           13113                           TCF      MANUOFF                               
016490,000116: 22,3112           40000                           COM                                            
016491,000117: 22,3113           63166        MANUOFF            AD       ONESEK     +1                         
016492,000118: 22,3114           00006                           EXTEND                                         
016493,000119: 22,3115           63117                           BZMF     2NDRETRN                              
016494,000120: 22,3116           24002                           INCR     Q                                     
016495,000121: 22,3117           24002        2NDRETRN           INCR     Q                                     
016496,000122: 22,3120           00002                           TC       Q                                     
016497,000123: 
016498,000124: 22,3121           03146        DT/TAU             DEC      .1                                    
016499,000125: 
016500,000126: 22,3122           77776        MANUSTAT           EXIT                                           #  INITIALIZATION ROUTINE
016501,000127: 22,3123           00006                           EXTEND                                         #  FOR AUTOMATIC MANEUVERS
016502,000128: 22,3124           30025                           DCA      TIME2                                 

Page 380

016504,000130: 22,3125           21732                           DAS      TM                                    #  TM+T0         MANEUVER COMPLETION TIME
016505,000131: 22,3126           00006                           EXTEND                                         
016506,000132: 22,3127           43166                           DCS      ONESEK                                
016507,000133: 22,3130           21732                           DAS      TM                                    #  (TM+T0)-1
016508,000134: 22,3131           00004                           INHINT                                         
016509,000135: 22,3132           34752                           CAF      TWO                                   
016510,000136: 22,3133           55677        RATEBIAS           TS       KSPNDX                                
016511,000137: 22,3134           60000                           DOUBLE                                         
016512,000138: 22,3135           55700                           TS       KDPNDX                                
016513,000139: 22,3136           50000                           INDEX    A                                     
016514,000140: 22,3137           31723                           CA       BRATE                                 
016515,000141: 22,3140           51677                           INDEX    KSPNDX                                #  STORE MANEUVER RATE IN
016516,000142: 22,3141           55641                           TS       OMEGAPD                               #  OMEGAPD, OMEGAQD, OMEGARD
016517,000143: 22,3142           00006                           EXTEND                                         
016518,000144: 22,3143           63145                           BZMF     +2                                    #  COMPUTE ATTITUDE ERROR
016519,000145: 22,3144           40000                           COM                                            #  OFFSET = (WX)ABS(WX)/2AJX
016520,000146: 22,3145           00006                           EXTEND                                         #  WHERE AJX= 2-JET ACCELERATION
016521,000147: 22,3146           73167                           MP       BIASCALE                              #  = -1/16
016522,000148: 22,3147           00006                           EXTEND                                         
016523,000149: 22,3150           51700                           INDEX    KDPNDX                                
016524,000150: 22,3151           71723                           MP       BRATE                                 
016525,000151: 22,3152           00006                           EXTEND                                         
016526,000152: 22,3153           51677                           INDEX    KSPNDX                                
016527,000153: 22,3154           11530                           DV       1JACC                                 #  = AJX         $ 90 DEG/SEC-SEC
016528,000154: 22,3155           51677                           INDEX    KSPNDX                                
016529,000155: 22,3156           55277                           TS       DELPEROR                              #                $ 180 DEG
016530,000156: 22,3157           11677                           CCS      KSPNDX                                
016531,000157: 22,3160           13133                           TCF      RATEBIAS                              
016532,000158: 
016533,000159: 22,3161           30025                           CA       TIME1                                 
016534,000160: 22,3162           63166                           AD       ONESEK     +1                         
016535,000161: 22,3163           57704                           XCH      NEXTIME                               
016536,000162: 22,3164           13034                           TCF      INCRDCDU   -1                         
016537,000163: 
016538,000164: 22,3165           00000        ONESEK             DEC      0          B-14                       
016539,000165: 22,3166           00144                           DEC      100        B-14                       
016540,000166: 
016541,000167: 22,3167           75777        BIASCALE           OCT      75777                                 #  = -1/16
016542,000168: 
016543,000169: 22,3170           40025        CONTMANU           CS       TIME1                                 #  RESET FOR NEXT DCDU UPDATE
016544,000170: 22,3171           61704                           AD       NEXTIME                               
016545,000171: 22,3172           10000                           CCS      A                                     
016546,000172: 22,3173           64753                           AD       ONE                                   
016547,000173: 22,3174           13177                           TCF      MANUCALL                              
016548,000174: 22,3175           64735                           AD       NEGMAX                                
016549,000175: 22,3176           40000                           COM                                            
016550,000176: 22,3177           00004        MANUCALL           INHINT                                         #  CALL FOR NEXT UPDATE VIA WAITLIST
016551,000177: 22,3200           05203                           TC       WAITLIST                              
016552,000178: 22,3201  E6,1705                                  EBANK=   TTEMP                                 
016553,000179: 22,3201           03206 44066                     2CADR    UPDTCALL                              

Page 381

016555,000181: 22,3203           33166                           CAF      ONESEK     +1                         #  INCREMENT TIME FOR NEXT UPDATE
016556,000182: 22,3204           27704                           ADS      NEXTIME                               
016557,000183: 22,3205           15155                           TCF      ENDOFJOB                              
016558,000184: 
016559,000185: 22,3206           37713        UPDTCALL           CAF      PRIO26                                #  SATELLITE PROGRAM TO CALL FOR UPDATE
016560,000186: 22,3207           05105                           TC       FINDVAC                               #  OF STEERING COMMANDS
016561,000187: 22,3210  E6,1705                                  EBANK=   TTEMP                                 
016562,000188: 22,3210           03003 44066                     2CADR    NEWDELHI                              
016563,000189: 
016564,000190: 22,3212           05261                           TC       TASKOVER                              
016565,000191: 

Page 382

016567,000193:                                                                                                  #  ROUTINE FOR TERMINATING AUTOMATIC MANEUVERS
016568,000194: 
016569,000195: 22,3213           34755        MANUSTOP           CAF      ZERO                                  #  ZERO MANEUVER RATES
016570,000196: 22,3214           55640                           TS       DELDCDU2                              
016571,000197: 22,3215           55643                           TS       OMEGARD                               
016572,000198: 22,3216           55301                           TS       DELREROR                              
016573,000199: 22,3217           55637                           TS       DELDCDU1                              
016574,000200: 22,3220           55642                           TS       OMEGAQD                               
016575,000201: 22,3221           55300                           TS       DELQEROR                              
016576,000202: 22,3222           30323                           CA       CPSI                                  #  SET DESIRED GIMBAL ANGLES TO
016577,000203: 22,3223           55635                           TS       CDUZD                                 #  DESIRED FINAL GIMBAL ANGLES
016578,000204: 22,3224           30322                           CA       CTHETA                                
016579,000205: 22,3225           55634                           TS       CDUYD                                 
016580,000206: 22,3226           30321        ENDROLL            CA       CPHI                                  #  NO FINAL YAW
016581,000207: 22,3227           55633                           TS       CDUXD                                 
016582,000208: 22,3230           34755                           CAF      ZERO                                  
016583,000209: 22,3231           55641                           TS       OMEGAPD                               #  I.E. MANEUVER DID NOT GO THRU
016584,000210: 22,3232           55636                           TS       DELDCDU                               #  GIMBAL LOCK ORIGINALLY
016585,000211: 22,3233           55277                           TS       DELPEROR                              
016586,000212: 22,3234           31311        GOODMANU           CA       ATTPRIO                               #  RESTORE USERS PRIO
016587,000213: 22,3235           54063                           TS       NEWPRIO                               
016588,000214: 
016589,000215: 22,3236           34755                           CA       ZERO                                  #  ZERO ATTCADR
016590,000216: 22,3237           53310                           DXCH     ATTCADR                               
016591,000217: 
016592,000218: 22,3240           05116                           TC       SPVAC                                 #  RETURN TO USER
016593,000219: 
016594,000220: 22,3241           05261                           TC       TASKOVER                              
016595,000221: 
016596,000222: 

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