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