Source Code

020504,000001: # Copyright: Public domain. 020505,000002: # Filename: S-BAND_ANTENNA_FOR_LM.agc 020506,000003: # Purpose: A section of Luminary 1C, revision 131. 020507,000004: # It is part of the source code for the Lunar Module's (LM) 020508,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 020509,000006: # This file is intended to be a faithful transcription, except 020510,000007: # that the code format has been changed to conform to the 020511,000008: # requirements of the yaYUL assembler rather than the 020512,000009: # original YUL assembler. 020513,000010: # Reference: pp. 495-498 of 1729.pdf. 020514,000011: # Contact: Ron Burkey <info@sandroid.org>. 020515,000012: # Website: www.ibiblio.org/apollo/index.html 020516,000013: # Mod history: 05/14/03 RSB. Began transcribing. 020517,000014: # 05/14/05 RSB Corrected website references above. 020518,000015: 020519,000016: # Page 495 020520,000017: # SUBROUTINE NAME: R05 -- S-BAND ANTENNA FOR LM 020521,000018: 020522,000019: # MOD0 BY T. JAMES 020523,000020: # MOD1 BY P. SHAKIR 020524,000021: 020525,000022: # FUNCTIONAL DESCRIPTION 020526,000023: 020527,000024: # THE S-BAND ANTENNA ROUTINE, R05, COMPUTES AND DISPLAYS THE PITCH AND 020528,000025: # YAW ANTENNA GIMBAL ANGLES REQUIRED TO POINT THE LM STEERABLE ANTENNA 020529,000026: # TOWARDS THE CENTER OF THE EARTH. THIS ROUTINE IS SELECTED BY THE ASTRO- 020530,000027: # NAUT VIA DSKY ENTRY DURING COASTING FLIGHT OR WHEN THE LM IS ON THE MOON 020531,000028: # SURFACE. THE EARTH OR MOON REFERENCE COORDINATE SYSTEM IS USED DEPENDING 020532,000029: # ON WHETHER THE LM IS ABOUT TO ENTER OR HAS ALREADY ENTERED THE MOON 020533,000030: # SPHERE OF INFLUENCE, RESPECTIVELY. CAN BE CALLED ANY TIME EXCEPT WHEN 020534,000031: # ANOTHER EXTENDED VERB IS IN USE. DISPLAY IS MEANINGLESS WITH IMU OFF. 020535,000032: 020536,000033: # TO CALL SUBROUTINE, ASTRONAUT KEYS IN V 64 E 020537,000034: 020538,000035: # SUBROUTINES CALLED --- 020539,000036: # INTPRET 020540,000037: # LOADTIME 020541,000038: # LEMCONIC 020542,000039: # LUNPOS 020543,000040: # CDUTRIG 020544,000041: # *SMNB* 020545,000042: # BANKCALL 020546,000043: # B50OFF 020547,000044: # ENDOFJOB 020548,000045: # BLANKRET 020549,000046: 020550,000047: # RETURNS WITH 020551,000048: # PITCH ANGLE IN PITCHANG REV. B0 020552,000049: # YAW ANGLE IN YAWANG REV. B0 020553,000050: 020554,000051: # ERASABLES USED 020555,000052: # PITCHANG 020556,000053: # YAWANG 020557,000054: # RLM 020558,000055: # VAC AREA 020559,000056: 020560,000057: 41,3750 BANK 41 020561,000058: 42,2000 SETLOC SBAND 020562,000059: 42,2000 BANK 020563,000060: 020564,000061: 42,3606 E7,1471 EBANK= WHOCARES 020565,000062: 42,3606 COUNT* $$/R05 020566,000063: 42,3606 06042 SBANDANT TC INTPRET 020567,000064: # Page 496 020568,000065: 42,3607 47001 SETPD RTB 020569,000066: 42,3610 00001 0D 020570,000067: 42,3611 21574 LOADTIME # PICK UP CURRENT TIME 020571,000068: 42,3612 34041 STCALL TDEC1 # ADVANCE INTEGRATION TO TIME IN TDEC1 020572,000069: 42,3613 27077 LEMCONIC # USING CONIC INTEGRATION 020573,000070: 42,3614 46135 SLOAD BHIZ 020574,000071: 42,3615 00050 X2 # X2 =0 EARTH SPHERE, X2 =2 MOON SPHERE 020575,000072: 42,3616 65634 CONV4 020576,000073: 42,3617 77775 VLOAD 020577,000074: 42,3620 00001 RATT 020578,000075: 42,3621 16205 STODL RLM 020579,000076: 42,3622 00015 TAT 020580,000077: 42,3623 77624 CONV3 CALL 020581,000078: 42,3624 33647 LUNPOS # UNIT POSITION VECTOR FROM EARTH TO MOON 020582,000079: 42,3625 74375 VLOAD VXSC 020583,000080: 42,3626 02723 VMOON 020584,000081: 42,3627 24001 REMDIST # MEAN DISTANCE FROM EARTH TO MOON 020585,000082: 42,3630 53372 VSL1 VAD 020586,000083: 42,3631 02205 RLM 020587,000084: 42,3632 77650 GOTO 020588,000085: 42,3633 65636 CONV5 020589,000086: 42,3634 77775 CONV4 VLOAD 020590,000087: 42,3635 00001 RATT # UE = -UNIT(RATT) EARTH SPHERE 020591,000088: 42,3636 53401 CONV5 SETPD UNIT # UE = -UNIT(REM)(UEM) MOON SPHERE 020592,000089: 42,3637 00001 0D # SET PL POINTER TO 0 020593,000090: 42,3640 45076 VCOMP CALL 020594,000091: 42,3641 47541 CDUTRIG # COMPUTE SINES AND COSINES OF CDU ANGLES 020595,000092: 42,3642 76521 MXV VSL1 # TRANSFORM REF. COORDINATE SYSTEM TO 020596,000093: 42,3643 01734 REFSMMAT # STABLE MEMBER B-1 X B-1 X B+1 = B-1 020597,000094: 42,3644 71206 PUSH DLOAD # 8D 020598,000095: 42,3645 06524 HI6ZEROS 020599,000096: 42,3646 02201 STORE PITCHANG 020600,000097: 42,3647 26203 STOVL YAWANG # ZERO OUT ANGLES 020601,000098: 42,3650 77624 CALL 020602,000099: 42,3651 47673 *SMNB* 020603,000100: 42,3652 16205 STODL RLM # PRE-MULTIPLY RLM BY (NBSA) MATRIX(B0) (garbled) 020604,000101: 42,3653 02207 RLM +2 020605,000102: 42,3654 45206 PUSH DSU 020606,000103: 42,3655 02205 RLM 020607,000104: 42,3656 77605 DMP 020608,000105: 42,3657 25767 1OVSQRT2 020609,000106: 42,3660 16207 STODL RLM +2 020610,000107: 42,3661 41215 DAD DMP 020611,000108: 42,3662 02205 RLM 020612,000109: 42,3663 25767 1OVSQRT2 020613,000110: 42,3664 26205 STOVL RLM # R B-1 020614,000111: 42,3665 02205 RLM 020615,000112: 42,3666 63256 UNIT PDVL 020616,000113: 42,3667 02205 RLM 020617,000114: 42,3670 72431 VPROJ VSL2 # PROJECTION OF R ONTO LM XZ PLANE. 020618,000115: # Page 497 020619,000116: 42,3671 06520 HIUNITY 020620,000117: 42,3672 40045 BVSU BOV # CLEAR OVERFLOW INDICATOR IF ON 020621,000118: 42,3673 02205 RLM 020622,000119: 42,3674 65675 COVCNV 020623,000120: 42,3675 40056 COVCNV UNIT BOV # EXIT ON OVERFLOW 020624,000121: 42,3676 65743 SBANDEX 020625,000122: 42,3677 47206 PUSH VXV # URP VECTOR B-1 020626,000123: 42,3700 06516 HIUNITZ 020627,000124: 42,3701 57572 VSL1 VCOMP # UZ X URP = -(URP X UZ) 020628,000125: 42,3702 02205 STORE RLM # X VEC B-1 020629,000126: 42,3703 63241 DOT PDVL # SGN(X.UY) UNSCALED 020630,000127: 42,3704 06520 HIUNITY 020631,000128: 42,3705 02205 RLM 020632,000129: 42,3706 75246 ABVAL SIGN 020633,000130: 42,3707 77736 ASIN # ASIN((SGN(X.UY))ABV(X)) REV B0 020634,000131: 42,3710 26201 STOVL PITCHANG 020635,000132: 42,3711 00007 URP 020636,000133: 42,3712 51041 DOT BPL 020637,000134: 42,3713 06516 HIUNITZ 020638,000135: 42,3714 65721 NOADJUST # YES, -90 TO +90 020639,000136: 42,3715 45345 DLOAD DSU 020640,000137: 42,3716 06522 HIDPHALF 020641,000138: 42,3717 02201 PITCHANG 020642,000139: 42,3720 02201 STORE PITCHANG 020643,000140: 42,3721 47375 NOADJUST VLOAD VXV 020644,000141: 42,3722 00001 UR # Z = (UR X URP) 020645,000142: 42,3723 00007 URP 020646,000143: 42,3724 77772 VSL1 020647,000144: 42,3725 16205 STODL RLM # Z VEC B-1 020648,000145: 42,3726 02201 PITCHANG 020649,000146: 42,3727 74356 SIN VXSC 020650,000147: 42,3730 06516 HIUNITZ 020651,000148: 42,3731 71525 PDDL COS 020652,000149: 42,3732 02201 PITCHANG 020653,000150: 42,3733 52361 VXSC VSU 020654,000151: 42,3734 06522 HIUNITX # (UX COS ALPHA) - (UZ SIN ALPHA) 020655,000152: 42,3735 63241 DOT PDVL # YAW.Z 020656,000153: 42,3736 02205 RLM 020657,000154: 42,3737 02205 RLM 020658,000155: 42,3740 75246 ABVAL SIGN 020659,000156: 42,3741 77736 ASIN 020660,000157: 42,3742 02203 STORE YAWANG 020661,000158: 42,3743 77776 SBANDEX EXIT 020662,000159: 42,3744 31043 CA EXTVBACT 020663,000160: 42,3745 74747 MASK BIT5 # IS BIT5 STILL ON 020664,000161: 42,3746 00006 EXTEND 020665,000162: 42,3747 15472 BZF ENDEXT # NO 020666,000163: 42,3750 35017 CAF PRIO5 020667,000164: 42,3751 05146 TC PRIOCHNG 020668,000165: 42,3752 33765 CAF V06N51 # DISPLAY ANGLES 020669,000166: # Page 498 020670,000167: 42,3753 04616 TC BANKCALL 020671,000168: 42,3754 20353 CADR GOMARKFR 020672,000169: 42,3755 05563 TC B5OFF # TERMINATE 020673,000170: 42,3756 05563 TC B5OFF # PROCEED 020674,000171: 42,3757 05155 TC ENDOFJOB # RECYCLE 020675,000172: 42,3760 34751 CAF BIT3 # IMMEDIATE RETURN 020676,000173: 42,3761 05464 TC BLANKET # BLANK R3 020677,000174: 42,3762 34740 CAF PRIO4 020678,000175: 42,3763 05146 TC PRIOCHNG 020679,000176: 42,3764 03606 TC SBANDANT # YES, CONTINUE DISPLAYING ANGLES. 020680,000177: 42,3765 01463 V06N51 VN 0651 020681,000178: 42,3766 26501 07463 1OVSQRT2 2DEC .7071067815 # 1/SQRT(2) 020682,000179: 020683,000180: 42,3770 UR EQUALS 0D 020684,000181: 42,3770 URP EQUALS 6D 020685,000182: 42,3770 30,2000 SBANK= LOWSUPER 020686,000183: 020687,000184: # END OF LEMONAID.104 *** 020688,000185: End of include-file S-BAND_ANTENNA_FOR_LM.agc. Parent file is MAIN.agc