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