Source Code

These source-code files are part of a reconstructed copy of Luminary 97, the original release of the Apollo 11 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

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.

020470,000002:                                                                                                  ## Copyright:   Public domain.
020471,000003:                                                                                                  ## Filename:    S-BAND_ANTENNA_FOR_LM.agc
020472,000004:                                                                                                  ## Purpose:     A section of Luminary revision 97.
020473,000005:                                                                                                  ##              It is part of the reconstructed source code for the
020474,000006:                                                                                                  ##              original release of the flight software for the Lunar 
020475,000007:                                                                                                  ##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 11.
020476,000008:                                                                                                  ##              The code has been recreated from a copy of Luminary 99
020477,000009:                                                                                                  ##              revision 001, using asterisks indicating changed lines in
020478,000010:                                                                                                  ##              the listing and Luminary Memos #83 and #85, which list 
020479,000011:                                                                                                  ##              changes between Luminary 97 and 98, and 98 and 99. The
020480,000012:                                                                                                  ##              code has been adapted such that the resulting bugger words
020481,000013:                                                                                                  ##              exactly match those specified for Luminary 97 in NASA drawing
020482,000014:                                                                                                  ##              2021152D, which gives relatively high confidence that the
020483,000015:                                                                                                  ##              reconstruction is correct.
020484,000016:                                                                                                  ## Reference:   pp. 486-489
020485,000017:                                                                                                  ## Assembler:   yaYUL
020486,000018:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
020487,000019:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
020488,000020:                                                                                                  ## Mod history: 2019-07-28 MAS  Created from Luminary 99.
020489,000021: 

Page 486

020491,000023:                                                                                                  #  SUBROUTINE NAME: R05 - S-BAND ANTENNA FOR LM
020492,000024: 
020493,000025:                                                                                                  #  MOD0 BY T. JAMES
020494,000026:                                                                                                  #  MOD1 BY P. SHAKIR
020495,000027: 
020496,000028:                                                                                                  #  FUNCTIONAL DESCRIPTION
020497,000029: 
020498,000030:                                                                                                  #  THE S-BAND ANTENNA ROUTINE, R05, COMPUTES AND DISPLAYS THE PITCH AND
020499,000031:                                                                                                  #  YAW ANTENNA GIMBAL ANGLES REQUIRED TO POINT THE LM STEERABLE ANTENNA
020500,000032:                                                                                                  #  TOWARD THE CENTER OF THE EARTH.  THIS ROUTINE IS SELECTED BY THE ASTRO-
020501,000033:                                                                                                  #  NAUT VIA DSKY ENTRY DURING COASTING FLIGHT OR WHEN THE LM IS ON THE MOON
020502,000034:                                                                                                  #  SURFACE.  THE EARTH OR MOON REFERENCE COORDINATE SYSTEM IS USED DEPENDING
020503,000035:                                                                                                  #  ON WHETHER THE LM IS ABOUT TO ENTER OR HAS ALREADY ENTERED THE MOON
020504,000036:                                                                                                  #  SPHERE OF INFLUENCE, RESPECTIVELY
020505,000037: 
020506,000038:                                                                                                  #  TO CALL SUBROUTINE, ASTRONAUT KEYS IN V 64 E
020507,000039: 
020508,000040:                                                                                                  #  SUBROUTINES CALLED -
020509,000041:                                                                                                  #        R02BOTH
020510,000042:                                                                                                  #        INTPRET
020511,000043:                                                                                                  #        LOADTIME
020512,000044:                                                                                                  #        LEMCONIC
020513,000045:                                                                                                  #        LUNPOS
020514,000046:                                                                                                  #        CDUTRIG
020515,000047:                                                                                                  #        *SMNB*
020516,000048:                                                                                                  #        BANKCALL
020517,000049:                                                                                                  #        B5OFF
020518,000050:                                                                                                  #        ENDOFJOB
020519,000051:                                                                                                  #        BLANKET
020520,000052: 
020521,000053:                                                                                                  #  RETURNS WITH
020522,000054:                                                                                                  #        PITCH ANGLE IN PITCHANG         REV. B0
020523,000055:                                                                                                  #        YAW ANGLE IN YAWANG             REV. B0
020524,000056: 
020525,000057:                                                                                                  #  ERASABLES USED
020526,000058:                                                                                                  #        PITCHANG
020527,000059:                                                                                                  #        YAWANG
020528,000060:                                                                                                  #        RLM
020529,000061:                                                                                                  #        VAC AREA
020530,000062: 
020531,000063: 41,3731                                           BANK     41                                    
020532,000064: 42,2000                                           SETLOC   SBAND                                 
020533,000065: 42,2000                                           BANK                                           
020534,000066: 
020535,000067: 42,3606  E7,1471                                  EBANK=   WHOCARES                              
020536,000068: 42,3606                                           COUNT*   $$/R05                                
020537,000069: 42,3606           04616        SBANDANT           TC       BANKCALL                              

Page 487

020539,000071: 42,3607           11254                           CADR     R02BOTH                               #  CHECK IF IMU IS ON AND ALIGNED
020540,000072: 42,3610           06037                           TC       INTPRET                               
020541,000073: 42,3611           47001                           SETPD    RTB                                   
020542,000074: 42,3612           00001                                    0D                                    
020543,000075: 42,3613           21573                                    LOADTIME                              #  PICK UP CURRENT TIME
020544,000076: 42,3614           34041                           STCALL   TDEC1                                 #  ADVANCE INTEGRATION TO TIME IN TDEC1
020545,000077: 42,3615           27100                                    LEMCONIC                              #  USING CONIC INTEGRATION
020546,000078: 42,3616           46135                           SLOAD    BHIZ                                  
020547,000079: 42,3617           00050                                    X2                                    #  X2 =0 EARTH SPHERE, X2 =2 MOON SPHERE
020548,000080: 42,3620           65636                                    CONV4                                 
020549,000081: 42,3621           77775                           VLOAD                                          
020550,000082: 42,3622           00001                                    RATT                                  
020551,000083: 42,3623           16205                           STODL    RLM                                   
020552,000084: 42,3624           00015                                    TAT                                   
020553,000085: 42,3625           77624        CONV3              CALL                                           
020554,000086: 42,3626           33664                                    LUNPOS                                #  UNIT POSITION VECTOR FROM EARTH TO MOON
020555,000087: 42,3627           74375                           VLOAD    VXSC                                  
020556,000088: 42,3630           02723                                    VMOON                                 
020557,000089: 42,3631           24001                                    REMDIST                               #  MEAN DISTANCE FROM EARTH TO MOON
020558,000090: 42,3632           53372                           VSL1     VAD                                   
020559,000091: 42,3633           02205                                    RLM                                   
020560,000092: 42,3634           77650                           GOTO                                           
020561,000093: 42,3635           65640                                    CONV5                                 
020562,000094: 42,3636           77775        CONV4              VLOAD                                          
020563,000095: 42,3637           00001                                    RATT                                  #  UE = -UNIT(RATT)              EARTH SPHERE
020564,000096: 42,3640           53401        CONV5              SETPD    UNIT                                  #  UE = -UNIT((REM)(UEM) + RL)   MOON SPHERE
020565,000097: 42,3641           00001                                    0D                                    #  SET PL POINTER TO 0
020566,000098: 42,3642           45076                           VCOMP    CALL                                  
020567,000099: 42,3643           47537                                    CDUTRIG                               #  COMPUTE SINES AND COSINES OF CDU ANGLES
020568,000100: 42,3644           76521                           MXV      VSL1                                  #  TRANSFORM REF. COORDINATE SYSTEM TO
020569,000101: 42,3645           01734                                    REFSMMAT                              #  STABLE MEMBER B-1 X B-1 X B+1 = B-1
020570,000102: 42,3646           71206                           PUSH     DLOAD                                 #  8D
020571,000103: 42,3647           06522                                    HI6ZEROS                              
020572,000104: 42,3650           02201                           STORE    PITCHANG                              
020573,000105: 42,3651           26203                           STOVL    YAWANG                                #  ZERO OUT ANGLES
020574,000106: 42,3652           77624                           CALL                                           
020575,000107: 42,3653           47671                                    *SMNB*                                
020576,000108: 42,3654           16205                           STODL    RLM                                   #  PRE-MULTIPLY RLM BY (NBSA) MATRIX(B0)
020577,000109: 42,3655           02207                                    RLM        +2                         
020578,000110: 42,3656           45206                           PUSH     DSU                                   
020579,000111: 42,3657           02205                                    RLM                                   
020580,000112: 42,3660           77605                           DMP                                            
020581,000113: 42,3661           25771                                    1OVSQRT2                              
020582,000114: 42,3662           16207                           STODL    RLM        +2                         
020583,000115: 42,3663           41215                           DAD      DMP                                   
020584,000116: 42,3664           02205                                    RLM                                   
020585,000117: 42,3665           25771                                    1OVSQRT2                              
020586,000118: 42,3666           26205                           STOVL    RLM                                   #  R B-1
020587,000119: 42,3667           02205                                    RLM                                   
020588,000120: 42,3670           63256                           UNIT     PDVL                                  

Page 488

020590,000122: 42,3671           02205                                    RLM                                   
020591,000123: 42,3672           72431                           VPROJ    VSL2                                  #  PROJECTION OF R ONTO LM XZ PLANE
020592,000124: 42,3673           06516                                    HIUNITY                               
020593,000125: 42,3674           40045                           BVSU     BOV                                   #  CLEAR OVERFLOW INDICATOR IF ON
020594,000126: 42,3675           02205                                    RLM                                   
020595,000127: 42,3676           65677                                    COVCNV                                
020596,000128: 42,3677           40056        COVCNV             UNIT     BOV                                   #  EXIT ON OVERFLOW
020597,000129: 42,3700           65745                                    SBANDEX                               
020598,000130: 42,3701           47206                           PUSH     VXV                                   #  URP VECTOR B-1
020599,000131: 42,3702           06514                                    HIUNITZ                               
020600,000132: 42,3703           57572                           VSL1     VCOMP                                 #  UZ X URP = -(URP X UZ)
020601,000133: 42,3704           02205                           STORE    RLM                                   #  X VEC B-1
020602,000134: 42,3705           63241                           DOT      PDVL                                  #  SGN(X.UY) UNSCALED
020603,000135: 42,3706           06516                                    HIUNITY                               
020604,000136: 42,3707           02205                                    RLM                                   
020605,000137: 42,3710           75246                           ABVAL    SIGN                                  
020606,000138: 42,3711           77736                           ASIN                                           #  ASIN((SGN(X.UY))ABV(X))       REV B0
020607,000139: 42,3712           26201                           STOVL    PITCHANG                              
020608,000140: 42,3713           00007                                    URP                                   
020609,000141: 42,3714           51041                           DOT      BPL                                   
020610,000142: 42,3715           06514                                    HIUNITZ                               
020611,000143: 42,3716           65723                                    NOADJUST                              #  YES, -90 TO +90
020612,000144: 42,3717           45345                           DLOAD    DSU                                   
020613,000145: 42,3720           06520                                    HIDPHALF                              
020614,000146: 42,3721           02201                                    PITCHANG                              
020615,000147: 42,3722           02201                           STORE    PITCHANG                              
020616,000148: 42,3723           47375        NOADJUST           VLOAD    VXV                                   
020617,000149: 42,3724           00001                                    UR                                    #  Z = (UR X URP)
020618,000150: 42,3725           00007                                    URP                                   
020619,000151: 42,3726           77772                           VSL1                                           
020620,000152: 42,3727           16205                           STODL    RLM                                   #  Z VEC B-1
020621,000153: 42,3730           02201                                    PITCHANG                              
020622,000154: 42,3731           74356                           SIN      VXSC                                  
020623,000155: 42,3732           06514                                    HIUNITZ                               
020624,000156: 42,3733           71525                           PDDL     COS                                   
020625,000157: 42,3734           02201                                    PITCHANG                              
020626,000158: 42,3735           52361                           VXSC     VSU                                   
020627,000159: 42,3736           06520                                    HIUNITX                               #  (UX COS ALPHA) - (UZ SIN ALPHA)
020628,000160: 42,3737           63241                           DOT      PDVL                                  #  YAW.Z
020629,000161: 42,3740           02205                                    RLM                                   
020630,000162: 42,3741           02205                                    RLM                                   
020631,000163: 42,3742           75246                           ABVAL    SIGN                                  
020632,000164: 42,3743           77736                           ASIN                                           
020633,000165: 42,3744           02203                           STORE    YAWANG                                
020634,000166: 42,3745           77776        SBANDEX            EXIT                                           
020635,000167: 42,3746           31044                           CA       EXTVBACT                              
020636,000168: 42,3747           74747                           MASK     BIT5                                  #  IS BIT5 STILL ON
020637,000169: 42,3750           00006                           EXTEND                                         
020638,000170: 42,3751           15472                           BZF      ENDEXT                                #  NO
020639,000171: 42,3752           35017                           CAF      PRIO5                                 

Page 489

020641,000173: 42,3753           05146                           TC       PRIOCHNG                              
020642,000174: 42,3754           33767                           CAF      V06N51                                #  DISPLAY ANGLES
020643,000175: 42,3755           04616                           TC       BANKCALL                              
020644,000176: 42,3756           20353                           CADR     GOMARKFR                              
020645,000177: 42,3757           05563                           TC       B5OFF                                 #  TERMINATE
020646,000178: 42,3760           05563                           TC       B5OFF                                 #  PROCEED
020647,000179: 42,3761           05155                           TC       ENDOFJOB                              #  RECYCLE
020648,000180: 42,3762           34751                           CAF      BIT3                                  #  IMMEDIATE RETURN
020649,000181: 42,3763           05464                           TC       BLANKET                               #  BLANK R3
020650,000182: 42,3764           34740                           CAF      PRIO4                                 
020651,000183: 42,3765           05146                           TC       PRIOCHNG                              
020652,000184: 42,3766           03610                           TC       SBANDANT   +2                         #  YES, CONTINUE DISPLAYING ANGLES
020653,000185: 42,3767           01463        V06N51             VN       0651                                  
020654,000186: 42,3770           26501 07463  1OVSQRT2           2DEC     .7071067815                            #  1/SQRT(2)
020655,000187: 
020656,000188: 42,3772                        UR                 EQUALS   0D                                    
020657,000189: 42,3772                        URP                EQUALS   6D                                    
020658,000190: 42,3772  30,2000                                  SBANK=   LOWSUPER                              
020659,000191: 

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