Source Code

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