Source Code

These source-code files are part of a reconstructed copy of LM131 revision 1, the final release of the Apollo 13 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

The source reconstruction began with source code of Luminary 131 previously transcribed from a digitized copy of that program. A dump of the flight spare core rope memory module B5, part number 2010802-171, serial number RAY 411, was obtained. This module is the only module different between Luminary 131 and LM131 revision 1. The dump was disassembled and all changes were incorporated into these source files. Note that page numbers in the reconstructed code match those on the Luminary 131 printout, although the changed code would likely have changed page numbers for a real LM131 revision 1 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.

020609,000002:                                                                                                  ## Copyright:   Public domain.
020610,000003:                                                                                                  ## Filename:    S-BAND_ANTENNA_FOR_LM.agc
020611,000004:                                                                                                  ## Purpose:     A section of LM131 revision 1.
020612,000005:                                                                                                  ##              It is part of the reconstructed source code for the final
020613,000006:                                                                                                  ##              release of the flight software for the Lunar Module's (LM)
020614,000007:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 13. The code has
020615,000008:                                                                                                  ##              been reconstructed from a listing of Luminary 131 and a dump
020616,000009:                                                                                                  ##              of a core rope memory module B5, part number 2010802-171,
020617,000010:                                                                                                  ##              which is the only module different between LM131 revision 1
020618,000011:                                                                                                  ##              and Luminary 131. The executable generated from this source
020619,000012:                                                                                                  ##              has been verified against the module dump, so while the names,
020620,000013:                                                                                                  ##              comments, and ordering may not be exactly correct, the
020621,000014:                                                                                                  ##              resulting binary is.
020622,000015:                                                                                                  ## Reference:   pp. 490-493
020623,000016:                                                                                                  ## Assembler:   yaYUL
020624,000017:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
020625,000018:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
020626,000019:                                                                                                  ## Mod history: 2022-10-28 MAS  Created from Luminary 131.
020627,000020: 

Page 490

020629,000022:                                                                                                  #  SUBROUTINE NAME: R05 - S-BAND ANTENNA FOR LM
020630,000023: 
020631,000024:                                                                                                  #  MOD0 BY T. JAMES
020632,000025:                                                                                                  #  MOD1 BY P. SHAKIR
020633,000026: 
020634,000027:                                                                                                  #  FUNCTIONAL DESCRIPTION
020635,000028: 
020636,000029:                                                                                                  #  THE S-BAND ANTENNA ROUTINE, R05, COMPUTES AND DISPLAYS THE PITCH AND
020637,000030:                                                                                                  #  YAW ANTENNA GIMBAL ANGLES REQUIRED TO POINT THE LM STEERABLE ANTENNA
020638,000031:                                                                                                  #  TOWARD THE CENTER OF THE EARTH.  THIS ROUTINE IS SELECTED BY THE ASTRO-
020639,000032:                                                                                                  #  NAUT VIA DSKY ENTRY DURING COASTING FLIGHT OR WHEN THE LM IS ON THE MOON
020640,000033:                                                                                                  #  SURFACE.  THE EARTH OR MOON REFERENCE COORDINATE SYSTEM IS USED DEPENDING
020641,000034:                                                                                                  #  ON WHETHER THE LM IS ABOUT TO ENTER OR HAS ALREADY ENTERED THE MOON
020642,000035:                                                                                                  #  SPHERE OF INFLUENCE, RESPECTIVELY.  CAN BE CALLED ANY TIME EXCEPT WHEN
020643,000036:                                                                                                  #  ANOTHER EXTENDED VERB IS IN USE.  DISPLAY IS MEANINGLESS WITH IMU OFF.
020644,000037: 
020645,000038:                                                                                                  #  TO CALL SUBROUTINE, ASTRONAUT KEYS IN V 64 E
020646,000039: 
020647,000040:                                                                                                  #  SUBROUTINES CALLED -
020648,000041:                                                                                                  #        INTPRET
020649,000042:                                                                                                  #        LOADTIME
020650,000043:                                                                                                  #        LEMCONIC
020651,000044:                                                                                                  #        LUNPOS
020652,000045:                                                                                                  #        CDUTRIG
020653,000046:                                                                                                  #        *SMNB*
020654,000047:                                                                                                  #        BANKCALL
020655,000048:                                                                                                  #        B5OFF
020656,000049:                                                                                                  #        ENDOFJOB
020657,000050:                                                                                                  #        BLANKET
020658,000051: 
020659,000052:                                                                                                  #  RETURNS WITH
020660,000053:                                                                                                  #        PITCH ANGLE IN PITCHANG         REV. B0
020661,000054:                                                                                                  #        YAW ANGLE IN YAWANG             REV. B0
020662,000055: 
020663,000056:                                                                                                  #  ERASABLES USED
020664,000057:                                                                                                  #        PITCHANG
020665,000058:                                                                                                  #        YAWANG
020666,000059:                                                                                                  #        RLM
020667,000060:                                                                                                  #        VAC AREA
020668,000061: 
020669,000062: 41,3750                                           BANK     41                                    
020670,000063: 42,2000                                           SETLOC   SBAND                                 
020671,000064: 42,2000                                           BANK                                           
020672,000065: 
020673,000066: 42,3606  E7,1471                                  EBANK=   WHOCARES                              
020674,000067: 42,3606                                           COUNT*   $$/R05                                
020675,000068: 42,3606           06042        SBANDANT           TC       INTPRET                               

Page 491

020677,000070: 42,3607           47001                           SETPD    RTB                                   
020678,000071: 42,3610           00001                                    0D                                    
020679,000072: 42,3611           21574                                    LOADTIME                              #  PICK UP CURRENT TIME
020680,000073: 42,3612           34041                           STCALL   TDEC1                                 #  ADVANCE INTEGRATION TO TIME IN TDEC1
020681,000074: 42,3613           27077                                    LEMCONIC                              #  USING CONIC INTEGRATION
020682,000075: 42,3614           46135                           SLOAD    BHIZ                                  
020683,000076: 42,3615           00050                                    X2                                    #  X2 =0 EARTH SPHERE, X2 =2 MOON SPHERE
020684,000077: 42,3616           65634                                    CONV4                                 
020685,000078: 42,3617           77775                           VLOAD                                          
020686,000079: 42,3620           00001                                    RATT                                  
020687,000080: 42,3621           16205                           STODL    RLM                                   
020688,000081: 42,3622           00015                                    TAT                                   
020689,000082: 42,3623           77624        CONV3              CALL                                           
020690,000083: 42,3624           33647                                    LUNPOS                                #  UNIT POSITION VECTOR FROM EARTH TO MOON
020691,000084: 42,3625           74375                           VLOAD    VXSC                                  
020692,000085: 42,3626           02723                                    VMOON                                 
020693,000086: 42,3627           24001                                    REMDIST                               #  MEAN DISTANCE FROM EARTH TO MOON
020694,000087: 42,3630           53372                           VSL1     VAD                                   
020695,000088: 42,3631           02205                                    RLM                                   
020696,000089: 42,3632           77650                           GOTO                                           
020697,000090: 42,3633           65636                                    CONV5                                 
020698,000091: 42,3634           77775        CONV4              VLOAD                                          
020699,000092: 42,3635           00001                                    RATT                                  #  UE = -UNIT(RATT)              EARTH SPHERE
020700,000093: 42,3636           53401        CONV5              SETPD    UNIT                                  #  UE = -UNIT((REM)(UEM) + RL)   MOON SPHERE
020701,000094: 42,3637           00001                                    0D                                    #  SET PL POINTER TO 0
020702,000095: 42,3640           45076                           VCOMP    CALL                                  
020703,000096: 42,3641           47541                                    CDUTRIG                               #  COMPUTE SINES AND COSINES OF CDU ANGLES
020704,000097: 42,3642           76521                           MXV      VSL1                                  #  TRANSFORM REF. COORDINATE SYSTEM TO
020705,000098: 42,3643           01734                                    REFSMMAT                              #  STABLE MEMBER B-1 X B-1 X B+1 = B-1
020706,000099: 42,3644           71206                           PUSH     DLOAD                                 #  8D
020707,000100: 42,3645           06524                                    HI6ZEROS                              
020708,000101: 42,3646           02201                           STORE    PITCHANG                              
020709,000102: 42,3647           26203                           STOVL    YAWANG                                #  ZERO OUT ANGLES
020710,000103: 42,3650           77624                           CALL                                           
020711,000104: 42,3651           47673                                    *SMNB*                                
020712,000105: 42,3652           16205                           STODL    RLM                                   #  PRE-MULTIPLY RLM BY (NBSA) MATRIX(B0)
020713,000106: 42,3653           02207                                    RLM        +2                         
020714,000107: 42,3654           45206                           PUSH     DSU                                   
020715,000108: 42,3655           02205                                    RLM                                   
020716,000109: 42,3656           77605                           DMP                                            
020717,000110: 42,3657           25767                                    1OVSQRT2                              
020718,000111: 42,3660           16207                           STODL    RLM        +2                         
020719,000112: 42,3661           41215                           DAD      DMP                                   
020720,000113: 42,3662           02205                                    RLM                                   
020721,000114: 42,3663           25767                                    1OVSQRT2                              
020722,000115: 42,3664           26205                           STOVL    RLM                                   #  R B-1
020723,000116: 42,3665           02205                                    RLM                                   
020724,000117: 42,3666           63256                           UNIT     PDVL                                  
020725,000118: 42,3667           02205                                    RLM                                   
020726,000119: 42,3670           72431                           VPROJ    VSL2                                  #  PROJECTION OF R ONTO LM XZ PLANE

Page 492

020728,000121: 42,3671           06520                                    HIUNITY                               
020729,000122: 42,3672           40045                           BVSU     BOV                                   #  CLEAR OVERFLOW INDICATOR IF ON
020730,000123: 42,3673           02205                                    RLM                                   
020731,000124: 42,3674           65675                                    COVCNV                                
020732,000125: 42,3675           40056        COVCNV             UNIT     BOV                                   #  EXIT ON OVERFLOW
020733,000126: 42,3676           65743                                    SBANDEX                               
020734,000127: 42,3677           47206                           PUSH     VXV                                   #  URP VECTOR B-1
020735,000128: 42,3700           06516                                    HIUNITZ                               
020736,000129: 42,3701           57572                           VSL1     VCOMP                                 #  UZ X URP = -(URP X UZ)
020737,000130: 42,3702           02205                           STORE    RLM                                   #  X VEC B-1
020738,000131: 42,3703           63241                           DOT      PDVL                                  #  SGN(X.UY) UNSCALED
020739,000132: 42,3704           06520                                    HIUNITY                               
020740,000133: 42,3705           02205                                    RLM                                   
020741,000134: 42,3706           75246                           ABVAL    SIGN                                  
020742,000135: 42,3707           77736                           ASIN                                           #  ASIN((SGN(X.UY))ABV(X))       REV B0
020743,000136: 42,3710           26201                           STOVL    PITCHANG                              
020744,000137: 42,3711           00007                                    URP                                   
020745,000138: 42,3712           51041                           DOT      BPL                                   
020746,000139: 42,3713           06516                                    HIUNITZ                               
020747,000140: 42,3714           65721                                    NOADJUST                              #  YES, -90 TO +90
020748,000141: 42,3715           45345                           DLOAD    DSU                                   
020749,000142: 42,3716           06522                                    HIDPHALF                              
020750,000143: 42,3717           02201                                    PITCHANG                              
020751,000144: 42,3720           02201                           STORE    PITCHANG                              
020752,000145: 42,3721           47375        NOADJUST           VLOAD    VXV                                   
020753,000146: 42,3722           00001                                    UR                                    #  Z = (UR X URP)
020754,000147: 42,3723           00007                                    URP                                   
020755,000148: 42,3724           77772                           VSL1                                           
020756,000149: 42,3725           16205                           STODL    RLM                                   #  Z VEC B-1
020757,000150: 42,3726           02201                                    PITCHANG                              
020758,000151: 42,3727           74356                           SIN      VXSC                                  
020759,000152: 42,3730           06516                                    HIUNITZ                               
020760,000153: 42,3731           71525                           PDDL     COS                                   
020761,000154: 42,3732           02201                                    PITCHANG                              
020762,000155: 42,3733           52361                           VXSC     VSU                                   
020763,000156: 42,3734           06522                                    HIUNITX                               #  (UX COS ALPHA) - (UZ SIN ALPHA)
020764,000157: 42,3735           63241                           DOT      PDVL                                  #  YAW.Z
020765,000158: 42,3736           02205                                    RLM                                   
020766,000159: 42,3737           02205                                    RLM                                   
020767,000160: 42,3740           75246                           ABVAL    SIGN                                  
020768,000161: 42,3741           77736                           ASIN                                           
020769,000162: 42,3742           02203                           STORE    YAWANG                                
020770,000163: 42,3743           77776        SBANDEX            EXIT                                           
020771,000164: 42,3744           31043                           CA       EXTVBACT                              
020772,000165: 42,3745           74747                           MASK     BIT5                                  #  IS BIT5 STILL ON
020773,000166: 42,3746           00006                           EXTEND                                         
020774,000167: 42,3747           15472                           BZF      ENDEXT                                #  NO
020775,000168: 42,3750           35017                           CAF      PRIO5                                 
020776,000169: 42,3751           05146                           TC       PRIOCHNG                              
020777,000170: 42,3752           33765                           CAF      V06N51                                #  DISPLAY ANGLES

Page 493

020779,000172: 42,3753           04616                           TC       BANKCALL                              
020780,000173: 42,3754           20353                           CADR     GOMARKFR                              
020781,000174: 42,3755           05563                           TC       B5OFF                                 #  TERMINATE
020782,000175: 42,3756           05563                           TC       B5OFF                                 #  PROCEED
020783,000176: 42,3757           05155                           TC       ENDOFJOB                              #  RECYCLE
020784,000177: 42,3760           34751                           CAF      BIT3                                  #  IMMEDIATE RETURN
020785,000178: 42,3761           05464                           TC       BLANKET                               #  BLANK R3
020786,000179: 42,3762           34740                           CAF      PRIO4                                 
020787,000180: 42,3763           05146                           TC       PRIOCHNG                              
020788,000181: 42,3764           03606                           TC       SBANDANT                              #  YES, CONTINUE DISPLAYING ANGLES.
020789,000182: 42,3765           01463        V06N51             VN       0651                                  
020790,000183: 42,3766           26501 07463  1OVSQRT2           2DEC     .7071067815                            #  1/SQRT(2)
020791,000184: 
020792,000185: 42,3770                        UR                 EQUALS   0D                                    
020793,000186: 42,3770                        URP                EQUALS   6D                                    
020794,000187: 42,3770  30,2000                                  SBANK=   LOWSUPER                              
020795,000188: 

End of include-file S-BAND_ANTENNA_FOR_LM.agc.  Parent file is MAIN.agc