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.

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

Page 343

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

Page 344

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

Page 345

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

Page 346

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

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