Source Code

These source-code files are part of a reconstructed copy of Luminary 173, the second (unflown) release of the Apollo 14 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

The reconstruction began with reconstructed source code for Luminary 178. Changes between revision 173 and 178 were backed out, as described by Luminary memo 167 (revision 1). The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152N. Note that page numbers in the reconstructed code match those for the baseline log section mentioned in each file's changelog; the page numbers for a real Luminary 173 listing would be different.

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.

014535,000002:                                                                                                  ## Copyright:   Public domain.
014536,000003:                                                                                                  ## Filename:    R63.agc
014537,000004:                                                                                                  ## Purpose:     A section of Luminary revision 173.
014538,000005:                                                                                                  ##              It is part of the reconstructed source code for the second
014539,000006:                                                                                                  ##              (unflown) release of the flight software for the Lunar
014540,000007:                                                                                                  ##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 14.
014541,000008:                                                                                                  ##              The code has been recreated from a reconstructed copy of
014542,000009:                                                                                                  ##              Luminary 178, as well as Luminary memo 167 (revision 1).
014543,000010:                                                                                                  ##              It has been adapted such that the resulting bugger words
014544,000011:                                                                                                  ##              exactly match those specified for Luminary 173 in NASA
014545,000012:                                                                                                  ##              drawing 2021152N, which gives relatively high confidence
014546,000013:                                                                                                  ##              that the reconstruction is correct.
014547,000014:                                                                                                  ## Reference:   pp. 343-346
014548,000015:                                                                                                  ## Assembler:   yaYUL
014549,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
014550,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
014551,000018:                                                                                                  ## Mod history: 2019-09-18 MAS  Created from Luminary 178.
014552,000019: 

Page 343

014554,000021:                                                                                                  #  SUBROUTINE NAME:    V89CALL
014555,000022:                                                                                                  #  MOD NO:  0                      DATE: 9 JAN 1968
014556,000023:                                                                                                  #  MOD BY:  DIGITAL DEVEL GROUP    LOG SECTION: R63
014557,000024: 
014558,000025:                                                                                                  #  FUNCTIONAL DESCRIPTION:
014559,000026: 
014560,000027:                                                                                                  #  CALLED BY VERB 89 ENTER DURING P00. PRIO 10 USED.  CALCULATES AND
014561,000028:                                                                                                  #  DISPLAYS FINAL FDAI BALL ANGLES TO POINT LM +X OR +Z AXIS AT CSM.
014562,000029: 
014563,000030:                                                                                                  #  1. KEY IN V 89 E ONLY IF IN PROG 00. IF NOT IN P00, OPERATOR ERROR AND
014564,000031:                                                                                                  #  EXIT R63, OTHERWISE CONTINUE.
014565,000032: 
014566,000033:                                                                                                  #  2. IF IN P00, DO IMU STATUS CHECK ROUTINE (R02BOTH). IF IMU ON AND ITS
014567,000034:                                                                                                  #  ORIENTATION KNOWN TO LGC, CONTINUE.
014568,000035: 
014569,000036:                                                                                                  #  3. FLASH DISPLAY V 04 N 06.  R2 INDICATES WHICH SPACECRAFT AXIS IS TO
014570,000037:                                                                                                  #  BE POINTED AT CSM.  INITIAL CHOICE IS PREFERRED (+Z) AXIS (R2=1).
014571,000038:                                                                                                  #  ASTRONAUT CAN CHANGE TO (+X) AXIS (R2 NOT = 1) BY V 22 E 2 E.  CONTINUE
014572,000039:                                                                                                  #  AFTER KEYING IN PROCEED.
014573,000040: 
014574,000041:                                                                                                  #  4. BOTH VEHICLE STATE VECTORS UPDATED BY CONIC EQS.
014575,000042: 
014576,000043:                                                                                                  #  5. HALF MAGNITUDE UNIT LOS VECTOR (IN STABLE MEMBER COORDINATES) AND
014577,000044:                                                                                                  #  HALF MAGNITUDE UNIT SPACECRAFT AXIS VECTOR (IN BODY COORDINATES)
014578,000045:                                                                                                  #  PREPARED FOR VECPOINT.
014579,000046: 
014580,000047:                                                                                                  #  6. GIMBAL ANGLES FROM VECPOINT TRANSFORMED INTO FDAI BALL ANGLES BY
014581,000048:                                                                                                  #  BALLANGS. FLASH DISPLAY V 06 N 18 AND AWAIT RESPONSE.
014582,000049: 
014583,000050:                                                                                                  #  7. RECYCLE - RETURN TO STEP 4.
014584,000051:                                                                                                  #     TERMINATE - EXIT R63.
014585,000052:                                                                                                  #     PROCEED - RESET 3AXISFLG AND CALL R60LEM FOR ATTITUDE MANEUVER.
014586,000053: 
014587,000054: 
014588,000055:                                                                                                  #  CALLING SEQUENCE:  V 89 E.
014589,000056: 
014590,000057:                                                                                                  #  SUBROUTINES CALLED:  CHKPOOH, R02BOTH, GOXDSPF, CSMCONIC, LEMCONIC,
014591,000058:                                                                                                  #                       VECPOINT, BALLANGS, R60LEM.
014592,000059: 
014593,000060:                                                                                                  #  NORMAL EXIT MODES:  TC ENDEXT
014594,000061: 
014595,000062:                                                                                                  #  ALARMS:  1. OPERATOR ERROR IF NOT IN P00.
014596,000063:                                                                                                  #           2. PROGRAM ALARM IF IMU IS OFF.
014597,000064:                                                                                                  #           3. PROGRAM ALARM IF IMU ORIENTATION IS UNKNOWN.
014598,000065: 
014599,000066:                                                                                                  #  OUTPUT:  NONE
014600,000067: 
014601,000068:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:  NONE
014602,000069: 
014603,000070:                                                                                                  #  DEBRIS:  OPTION1, +1, TDEC1, POINTVSM, SCAXIS, CPHI, CTHETA, CPSI,
014604,000071: 

Page 344

014606,000073:                                                                                                  #           3AXISFLG.
014607,000074: 
014608,000075: 06,3723  E4,1606                                  EBANK=   RONE                                  
014609,000076: 32,2217                                           BANK     32                                    
014610,000077: 26,2000                                           SETLOC   BAWLANGS                              
014611,000078: 26,2000                                           BANK                                           
014612,000079: 
014613,000080: 
014614,000081: 26,2024                                           COUNT*   $$/R63                                
014615,000082: 26,2024           04616        V89CALL            TC       BANKCALL                              #  IMU STATUS CHECK. RETURNS IF ORIENTATION
014616,000083: 26,2025           11241                           CADR     R02BOTH                               #  KNOWN. ALARMS IF NOT.
014617,000084: 26,2026           36250                           CAF      THREE                                 #  ALLOW ASTRONAUT TO SELECT DESIRED
014618,000085: 26,2027           55050                           TS       OPTIONX                               #  TRACKING ATTITUDE AXIS.
014619,000086: 26,2030           34753                           CAF      ONE                                   
014620,000087: 26,2031           55051                           TS       OPTIONX    +1                         
014621,000088: 26,2032           32121                           CAF      VB04N12                               #  V 04 N 12
014622,000089: 26,2033           04616                           TC       BANKCALL                              
014623,000090: 26,2034           20477                           CADR     GOFLASH                               
014624,000091: 26,2035           05503                           TC       ENDEXT                                #  TERMINATE
014625,000092: 26,2036           02040                           TC       +2                                    #  PROCEED
014626,000093: 26,2037           02032                           TC       -5                                    #  DATA IN. OPTION1+1 = 1 FOR Z AXIS
014627,000094: 26,2040           06042        V89RECL            TC       INTPRET                               #                    = 2 FOR X AXIS
014628,000095: 26,2041           43234                           RTB      DAD                                   
014629,000096: 26,2042           21574                                    LOADTIME                              #  READ PRESENT TIME
014630,000097: 26,2043           14124                                    DP1MIN                                
014631,000098: 26,2044           02205                           STORE    TSTART82                              #  SAVE TIME FOR LEMCONIC CALL
014632,000099: 26,2045           34041                           STCALL   TDEC1                                 #  STORE TIME FOR CSMCONIC CALL
014633,000100: 26,2046           27065                                    CSMCONIC                              #  CSM STATE VECTOR UPDATE
014634,000101: 26,2047           77775                           VLOAD                                          #  CSMCONIC LEFT R VECTOR IN RATT
014635,000102: 26,2050           00001                                    RATT                                  
014636,000103: 26,2051           16207                           STODL    RONE                                  #  SAVE FOR LINE OF SIGHT (LOS) COMPUTATION
014637,000104: 26,2052           02205                                    TSTART82                              
014638,000105: 26,2053           34041                           STCALL   TDEC1                                 #  STORE TIME FOR LEMCONIC CALL
014639,000106: 26,2054           27077                                    LEMCONIC                              #  LEM STATE VECTOR UPDATE
014640,000107: 26,2055           52375                           VLOAD    VSU                                   #  CSM POSITION - LEM POSITION = LOS
014641,000108: 26,2056           02207                                    RONE                                  #  LOS VECTOR LEFT IN MPAC
014642,000109: 26,2057           00001                                    RATT                                  
014643,000110: 26,2060           47121                           MXV      RTB                                   #  (REFSMMAT X LOS). TRANSFORMS LOS FROM
014644,000111: 26,2061           01732                                    REFSMMAT                              #  REFERENCE COORD TO STAB MEMB COORD.
014645,000112: 26,2062           21727                                    NORMUNIT                              
014646,000113: 26,2063           03773                           STORE    POINTVSM                              #  STORE LOS FOR VECPOINT CALL
014647,000114: 26,2064           77776                           EXIT                                           
014648,000115: 26,2065           41051                           CS       OPTIONX    +1                         #  1 FOR Z AXIS. 2 FOR X AXIS.
014649,000116: 26,2066           64753                           AD       ONE                                   
014650,000117: 26,2067           00006                           EXTEND                                         
014651,000118: 26,2070           12115                           BZF      ALINEZ                                
014652,000119: 26,2071           06042        ALINEX             TC       INTPRET                               #  X AXIS ALIGNMENT
014653,000120: 26,2072           77775                           VLOAD                                          
014654,000121: 26,2073           06516                                    UNITX                                 #  READ (.5, 0, 0)
014655,000122: 

Page 345

014657,000124: 26,2074           37765        V89CALL1           STCALL   SCAXIS                                #  STORE SELECTED ALIGNMENT AXIS
014658,000125: 26,2075           56040                                    VECPOINT                              #  PUTS DESIRED GIM ANG (OG,IG,MG) IN TMPAC
014659,000126: 26,2076           00322                           STORE    CPHI                                  #  STORE GIMBAL ANGLES FOR BALLANGS CALL.
014660,000127: 26,2077           77776                           EXIT                                           
014661,000128: 26,2100           04616                           TC       BANKCALL                              
014662,000129: 26,2101           54274                           CADR     BALLANGS                              #  PUTS DESIRED BALL ANGLES IN FDAIX,Y,Z
014663,000130: 26,2102           32122                           CAF      VB06N18                               #  V 06 N 18
014664,000131: 26,2103           04616                           TC       BANKCALL                              #  NOUN 18 REFERS TO FDAIX,Y,Z
014665,000132: 26,2104           20477                           CADR     GOFLASH                               
014666,000133: 26,2105           05503                           TC       ENDEXT                                #  TERMINATE
014667,000134: 26,2106           02110                           TC       +2                                    #  PROCEED
014668,000135: 26,2107           02040                           TC       V89RECL                               #  RECYCLE
014669,000136: 26,2110           05527                           TC       DOWNFLAG                              #  RESET 3 AXIS FLAG
014670,000137: 26,2111           00124                           ADRES    3AXISFLG                              #  RESET BIT6 FLAG WORD 5
014671,000138: 26,2112           04616                           TC       BANKCALL                              #  PERFORMS LEM MANEUVER TO ALIGN SELECTED
014672,000139: 26,2113           54125                           CADR     R60LEM                                #  SPACECRAFT AXIS TO CSM.
014673,000140: 26,2114           15503                           TCF      ENDEXT                                #  TERMINATE R63
014674,000141: 
014675,000142: 
014676,000143: 26,2115           06042        ALINEZ             TC       INTPRET                               #  Z AXIS ALIGNMENT
014677,000144: 26,2116           52175                           VLOAD    GOTO                                  
014678,000145: 26,2117           06512                                    UNITZ                                 #  READ (0, 0, .5)
014679,000146: 26,2120           54074                                    V89CALL1                              
014680,000147: 
014681,000148: 
014682,000149: 26,2121           01014        VB04N12            VN       412                                   
014683,000150: 26,2122           01422        VB06N18            VN       0618                                  
014684,000151: 

Page 346

014686,000153: 26,2123           00000 13560  DP1MIN             2DEC     6000       B-28                       

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