Source Code

013867,000001: # Copyright: Public domain. 013868,000002: # Filename: R63.agc 013869,000003: # Purpose: A section of Luminary 1C, revision 131. 013870,000004: # It is part of the source code for the Lunar Module's (LM) 013871,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 013872,000006: # This file is intended to be a faithful transcription, except 013873,000007: # that the code format has been changed to conform to the 013874,000008: # requirements of the yaYUL assembler rather than the 013875,000009: # original YUL assembler. 013876,000010: # Reference: pp. 345-348 of 1729.pdf. 013877,000011: # Contact: Ron Burkey <info@sandroid.org>. 013878,000012: # Website: www.ibiblio.org/apollo/index.html 013879,000013: # Mod history: 05/06/03 RSB. Began transcribing. 013880,000014: # 05/14/05 RSB Corrected website reference above. 013881,000015: 013882,000016: # Page 345 013883,000017: # SUBROUTINE NAME: V89CALL 013884,000018: # MOD NO: 0 DATE: 9 JAN 1968 013885,000019: # MOD BY: DIGITAL DEVEL GROUP LOG SECTION: R63 013886,000020: 013887,000021: # FUNCTIONAL DESCRIPTION: 013888,000022: 013889,000023: # CALLED BY VERB 89 ENTER DURING P00. PRIO 10 USED. CALCULATES AND 013890,000024: # DISPLAYS FINAL FDAI BALL ANGLES TO POINT LM +X OR +Z AXIS AT CSM. 013891,000025: 013892,000026: # 1. KEY IN V 89 E ONLY IF IN PROG 00. IF NOT IN P00, OPERATOR ERROR AND 013893,000027: # EXIT R63, OTHERWISE CONTINUE. 013894,000028: 013895,000029: # 2. IF IN P00, DO IMU STATUS CHECK ROUTINE (R02BOTH). IF IMU ON AND ITS 013896,000030: # ORIENTATION KNOWN TO LGC, CONTINUE. 013897,000031: 013898,000032: # 3. FLASH DISPLAY V 04 N 06. R2 INDICATES WHICH SPACECRAFT AXIS IS TO 013899,000033: # BE POINTED AT CSM. INITIAL CHOICE IS PREFERRED (+Z) AXIS (R2=1). 013900,000034: # ASTRONAUT CAN CHANGE TO (+X) AXIS (R2 NOT =1) BY V 22 E 2 E. CONTINUE 013901,000035: # AFTER KEYING IN PROCEED. 013902,000036: 013903,000037: # 4. BOTH VEHICLE STATE VECTORS UPDATED BY CONIC EQS. 013904,000038: 013905,000039: # 5. HALF MAGNITUDE UNIT LOS VECTOR (IN STABLE MEMBER COORDINATES) AND 013906,000040: # HALF MAGNITUDE UNIT SPACECRAFT AXIS VECTOR (IN BODY COORDINATES) 013907,000041: # PREPARED FOR VECPOINT. 013908,000042: 013909,000043: # 6. GIMBAL ANGLES FROM VECPOINT TRANSFORMED INTO FDAI BALL ANGLES BY 013910,000044: # BALLANGS. FLASH DISPLAY V 06 N 18 AND AWAIT RESPONSE. 013911,000045: 013912,000046: # 7 RECYCLE -- RETURN TO STEP 4. 013913,000047: # TERMINATE -- EXIT R63 013914,000048: # PROCEED -- RESET 3AXISFLAG AND CALL R60LEM FOR ATTITUDE MANEUVER. 013915,000049: 013916,000050: # CALLING SEQUENCE: V 89 E. 013917,000051: 013918,000052: # SUBROUTINES CALLED: CHECKP00H, R02BOTH, GOXDSPF, CSMCONIC, LEMCONIC, 013919,000053: # VECPOINT, BALLANGS, R60LEM. 013920,000054: 013921,000055: # NORMAL EXIT MODES: TC ENDEXT 013922,000056: 013923,000057: # ALARMS: 1. OPERATOR ERROR IF NOT IN P00. 013924,000058: # 2. PROGRAM ALARM IF IMU IS OFF. 013925,000059: # 3. PROGRAM ALARM IF IMU ORIENTATION IS UNKNOWN. 013926,000060: 013927,000061: # OUTPUT: NONE 013928,000062: 013929,000063: # ERASABLE INITIALIZATION REQUIRED: NONE 013930,000064: 013931,000065: # DEBRIS: OPTION1, +1, TDEC1, PCINTVSM, SCAXIS, CPHI, CTHETA, CPSI, 013932,000066: # Page 346 013933,000067: # 3AXISFLAG. 013934,000068: 013935,000069: 06,3723 E4,1606 EBANK= RONE 013936,000070: 32,2217 BANK 32 013937,000071: 26,2000 SETLOC BAWLANGS 013938,000072: 26,2000 BANK 013939,000073: 013940,000074: 26,2022 COUNT* $$/R63 013941,000075: 26,2022 04616 V89CALL TC BANKCALL # IMU STATUS CHECK. RETURNS IF ORIENTATION 013942,000076: 26,2023 11233 CADR R02BOTH # KNOWN. ALARMS IF NOT. 013943,000077: 26,2024 36250 CAF THREE # ALLOW ASTRONAUT TO SELECT DESIRED 013944,000078: 26,2025 55050 TS OPTIONX # TRACKING ATTITUDE AXIS. 013945,000079: 26,2026 34753 CAF ONE 013946,000080: 26,2027 55051 TS OPTIONX +1 013947,000081: 26,2030 32117 CAF VB04N12 # V 04 N 12. 013948,000082: 26,2031 04616 TC BANKCALL 013949,000083: 26,2032 20477 CADR GOFLASH 013950,000084: 26,2033 05472 TC ENDEXT # TERMINATE 013951,000085: 26,2034 02036 TC +2 # PROCEED 013952,000086: 26,2035 02030 TC -5 # DATA IN. OPTION1+1 = 1 FOR Z AXIS 013953,000087: 26,2036 06042 V89RECL TC INTPRET # 2 FOR X AXIS 013954,000088: 26,2037 43234 RTB DAD 013955,000089: 26,2040 21574 LOADTIME # READ PRESENT TIME 013956,000090: 26,2041 14122 DP1MIN 013957,000091: 26,2042 02205 STORE TSTART82 # SAVE TIME FOR LEMCONIC CALL 013958,000092: 26,2043 34041 STCALL TDEC1 # STORE TIME FOR CSMCONIC CALL 013959,000093: 26,2044 27065 CSMCONIC # CSM STATE VECTOR UPDATE 013960,000094: 26,2045 77775 VLOAD # CSMCONIC LEFT R VECTOR IN RATT 013961,000095: 26,2046 00001 RATT 013962,000096: 26,2047 16207 STODL RONE # SAVE FOR LINE OF SIGHT (LOS) COMPUTATION 013963,000097: 26,2050 02205 TSTART82 013964,000098: 26,2051 34041 STCALL TDEC1 # STORE TIME FOR LEMCONIC CALL 013965,000099: 26,2052 27077 LEMCONIC # LEM STATE VECTOR UPDATE 013966,000100: 26,2053 52375 VLOAD VSU # CSM POSITION -- LEM POSITION -- LOS 013967,000101: 26,2054 02207 RONE # LOS VECTOR LEFT IN MPAC 013968,000102: 26,2055 00001 RATT 013969,000103: 26,2056 47121 MXV RTB # (REFSMAT X LOS). TRANSFORMS LOS FROM 013970,000104: 26,2057 01734 REFSMMAT # REFERENCE COORD TO STAB MEMB COORD. (garbled) 013971,000105: 26,2060 21727 NORMUNIT 013972,000106: 26,2061 03773 STORE POINTVSM # STORE LOS FOR VECPOINT CALCULATION 013973,000107: 26,2062 77776 EXIT 013974,000108: 26,2063 41051 CS OPTIONX +1 # 1 FOR Z AXIS. 2 FOR X AXIS. 013975,000109: 26,2064 64753 AD ONE 013976,000110: 26,2065 00006 EXTEND 013977,000111: 26,2066 12113 BZF ALINEZ 013978,000112: 26,2067 06042 ALINEX TC INTPRET # X AXIS ALIGNMENT 013979,000113: 26,2070 77775 VLOAD 013980,000114: 26,2071 06522 UNITX # READ (.5, 0, 0) 013981,000115: # Page 347 013982,000116: 26,2072 37765 V89CALL1 STCALL SCAXIS # STORE SELECTED ALIGNMENT AXIS 013983,000117: 26,2073 56040 VECPOINT # PUTS DESIRED GIM ANG (OG,IG,MG) IN TMPAC 013984,000118: 26,2074 00322 STORE CPHI # STOR GIMBAL ANGLES FOR BALLANGS CALL 013985,000119: 26,2075 77776 EXIT 013986,000120: 26,2076 04616 TC BANKCALL 013987,000121: 26,2077 54272 CADR BALLANGS # PUTS DESIRED BALL ANGLE IN FDAIX,Y,Z 013988,000122: 26,2100 32120 CAF VB06N18 # V 06 N 18 013989,000123: 26,2101 04616 TC BANKCALL # NOUN 18 REFERS TO FDAIX,Y,Z 013990,000124: 26,2102 20477 CADR GOFLASH 013991,000125: 26,2103 05472 TC ENDEXT # TERMINATE 013992,000126: 26,2104 02106 TC +2 # PROCEED 013993,000127: 26,2105 02036 TC V89RECL # RECYCLE 013994,000128: 26,2106 05516 TC DOWNFLAG # RESET 3 AXIS FLAG 013995,000129: 26,2107 00124 ADRES 3AXISFLG # RESET BIT6 FLAG WORD 5 013996,000130: 26,2110 04616 TC BANKCALL # PERFORMS LEM MANEUVER TO ALIGN SELECTED 013997,000131: 26,2111 54123 CADR R60LEM # SPACECRAFT AXIS TO CSM. 013998,000132: 26,2112 15472 TCF ENDEXT # TERMINATE R63 013999,000133: 014000,000134: 26,2113 06042 ALINEZ TC INTPRET # Z AXIS ALIGNMENT 014001,000135: 26,2114 52175 VLOAD GOTO 014002,000136: 26,2115 06516 UNITZ # READ (0, 0, .5) 014003,000137: 26,2116 54072 V89CALL1 014004,000138: 014005,000139: 26,2117 01014 VB04N12 VN 412 014006,000140: 26,2120 01422 VB06N18 VN 0618 014007,000141: # Page 348 014008,000142: 26,2121 00000 13560 DP1MIN 2DEC 6000 B-28 014009,000143: End of include-file R63.agc. Parent file is MAIN.agc