Source Code

013988,000001: # Copyright: Public domain. 013989,000002: # Filename: R63.agc 013990,000003: # Purpose: Part of the source code for Luminary 1A build 099. 013991,000004: # It is part of the source code for the Lunar Module's (LM) 013992,000005: # Apollo Guidance Computer (AGC), for Apollo 11. 013993,000006: # Assembler: yaYUL 013994,000007: # Contact: Ron Burkey <info@sandroid.org>. 013995,000008: # Website: www.ibiblio.org/apollo. 013996,000009: # Pages: 338-341 013997,000010: # Mod history: 2009-05-16 RSB Adapted from the corresponding 013998,000011: # Luminary131 file, using page 013999,000012: # images from Luminary 1A. 014000,000013: 014001,000014: # This source code has been transcribed or otherwise adapted from 014002,000015: # digitized images of a hardcopy from the MIT Museum. The digitization 014003,000016: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 014004,000017: # the Museum. Many thanks to both. The images (with suitable reduction 014005,000018: # in storage size and consequent reduction in image quality as well) are 014006,000019: # available online at www.ibiblio.org/apollo. If for some reason you 014007,000020: # find that the images are illegible, contact me at info@sandroid.org 014008,000021: # about getting access to the (much) higher-quality images which Paul 014009,000022: # actually created. 014010,000023: 014011,000024: # Notations on the hardcopy document read, in part: 014012,000025: 014013,000026: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 014014,000027: # 16:27 JULY 14, 1969 014015,000028: 014016,000029: # Page 338 014017,000030: # SUBROUTINE NAME: V89CALL 014018,000031: # MOD NO: 0 DATE: 9 JAN 1968 014019,000032: # MOD BY: DIGITAL DEVEL GROUP LOG SECTION: R63 014020,000033: 014021,000034: # FUNCTIONAL DESCRIPTION: 014022,000035: 014023,000036: # CALLED BY VERB 89 ENTER DURING P00. PRIO 10 USED. CALCULATES AND 014024,000037: # DISPLAYS FINAL FDAI BALL ANGLES TO POINT LM +X OR +Z AXIS AT CSM. 014025,000038: 014026,000039: # 1. KEY IN V 89 E ONLY IF IN PROG 00. IF NOT IN P00, OPERATOR ERROR AND 014027,000040: # EXIT R63, OTHERWISE CONTINUE. 014028,000041: 014029,000042: # 2. IF IN P00, DO IMU STATUS CHECK ROUTINE (R02BOTH). IF IMU ON AND ITS 014030,000043: # ORIENTATION KNOWN TO LGC, CONTINUE. 014031,000044: 014032,000045: # 3. FLASH DISPLAY V 04 N 06. R2 INDICATES WHICH SPACECRAFT AXIS IS TO 014033,000046: # BE POINTED AT CSM. INITIAL CHOICE IS PREFERRED (+Z) AXIS (R2=1). 014034,000047: # ASTRONAUT CAN CHANGE TO (+X) AXIS (R2 NOT =1) BY V 22 E 2 E. CONTINUE 014035,000048: # AFTER KEYING IN PROCEED. 014036,000049: 014037,000050: # 4. BOTH VEHICLE STATE VECTORS UPDATED BY CONIC EQS. 014038,000051: 014039,000052: # 5. HALF MAGNITUDE UNIT LOS VECTOR (IN STABLE MEMBER COORDINATES) AND 014040,000053: # HALF MAGNITUDE UNIT SPACECRAFT AXIS VECTOR (IN BODY COORDINATES) 014041,000054: # PREPARED FOR VECPOINT. 014042,000055: 014043,000056: # 6. GIMBAL ANGLES FROM VECPOINT TRANSFORMED INTO FDAI BALL ANGLES BY 014044,000057: # BALLANGS. FLASH DISPLAY V 06 N 18 AND AWAIT RESPONSE. 014045,000058: 014046,000059: # 7 RECYCLE -- RETURN TO STEP 4. 014047,000060: # TERMINATE -- EXIT R63 014048,000061: # PROCEED -- RESET 3AXISFLAG AND CALL R60LEM FOR ATTITUDE MANEUVER. 014049,000062: 014050,000063: # CALLING SEQUENCE: V 89 E. 014051,000064: 014052,000065: # SUBROUTINES CALLED: CHECKP00H, R02BOTH, GOXDSPF, CSMCONIC, LEMCONIC, 014053,000066: # VECPOINT, BALLANGS, R60LEM. 014054,000067: 014055,000068: # NORMAL EXIT MODES: TC ENDEXT 014056,000069: 014057,000070: # ALARMS: 1. OPERATOR ERROR IF NOT IN P00. 014058,000071: # 2. PROGRAM ALARM IF IMU IS OFF. 014059,000072: # 3. PROGRAM ALARM IF IMU ORIENTATION IS UNKNOWN. 014060,000073: 014061,000074: # OUTPUT: NONE 014062,000075: 014063,000076: # ERASABLE INITIALIZATION REQUIRED: NONE 014064,000077: 014065,000078: # DEBRIS: OPTION1, +1, TDEC1, PCINTVSM, SCAXIS, CPHI, CTHETA, CPSI, 014066,000079: # Page 339 014067,000080: # 3AXISFLAG. 014068,000081: 014069,000082: 06,3715 E4,1606 EBANK= RONE 014070,000083: 32,2217 BANK 32 014071,000084: 26,2000 SETLOC BAWLANGS 014072,000085: 26,2000 BANK 014073,000086: 014074,000087: 26,2022 COUNT* $$/R63 014075,000088: 26,2022 04616 V89CALL TC BANKCALL # IMU STATUS CHECK. RETURNS IF ORIENTATION 014076,000089: 26,2023 11254 CADR R02BOTH # KNOWN. ALARMS IF NOT. 014077,000090: 26,2024 36245 CAF THREE # ALLOW ASTRONAUT TO SELECT DESIRED 014078,000091: 26,2025 55051 TS OPTIONX # TRACKING ATTITUDE AXIS. 014079,000092: 26,2026 34753 CAF ONE 014080,000093: 26,2027 55052 TS OPTIONX +1 014081,000094: 26,2030 32117 CAF VB04N12 # V 04 N 12. 014082,000095: 26,2031 04616 TC BANKCALL 014083,000096: 26,2032 20476 CADR GOFLASH 014084,000097: 26,2033 05472 TC ENDEXT # TERMINATE 014085,000098: 26,2034 02036 TC +2 # PROCEED 014086,000099: 26,2035 02030 TC -5 # DATA IN. OPTION1+1 = 1 FOR Z AXIS 014087,000100: 26,2036 06037 V89RECL TC INTPRET # 2 FOR X AXIS 014088,000101: 26,2037 43234 RTB DAD 014089,000102: 26,2040 21573 LOADTIME # READ PRESENT TIME 014090,000103: 26,2041 14122 DP1MIN 014091,000104: 26,2042 02205 STORE TSTART82 # SAVE TIME FOR LEMCONIC CALL 014092,000105: 26,2043 34041 STCALL TDEC1 # STORE TIME FOR CSMCONIC CALL 014093,000106: 26,2044 27066 CSMCONIC # CSM STATE VECTOR UPDATE 014094,000107: 26,2045 77775 VLOAD # CSMCONIC LEFT R VECTOR IN RATT 014095,000108: 26,2046 00001 RATT 014096,000109: 26,2047 16207 STODL RONE # SAVE FOR LINE OF SIGHT (LOS) COMPUTATION 014097,000110: 26,2050 02205 TSTART82 014098,000111: 26,2051 34041 STCALL TDEC1 # STORE TIME FOR LEMCONIC CALL 014099,000112: 26,2052 27100 LEMCONIC # LEM STATE VECTOR UPDATE 014100,000113: 26,2053 52375 VLOAD VSU # CSM POSITION -- LEM POSITION -- LOS 014101,000114: 26,2054 02207 RONE # LOS VECTOR LEFT IN MPAC 014102,000115: 26,2055 00001 RATT 014103,000116: 26,2056 47121 MXV RTB # (REFSMAT X LOS). TRANSFORMS LOS FROM 014104,000117: 26,2057 01734 REFSMMAT # REFERENCE COORD TO STAB MEMB COORD. 014105,000118: 26,2060 21726 NORMUNIT 014106,000119: 26,2061 03773 STORE POINTVSM # STORE LOS FOR VECPOINT CALCULATION 014107,000120: 26,2062 77776 EXIT 014108,000121: 26,2063 41052 CS OPTIONX +1 # 1 FOR Z AXIS. 2 FOR X AXIS. 014109,000122: 26,2064 64753 AD ONE 014110,000123: 26,2065 00006 EXTEND 014111,000124: 26,2066 12113 BZF ALINEZ 014112,000125: 26,2067 06037 ALINEX TC INTPRET # X AXIS ALIGNMENT 014113,000126: 26,2070 77775 VLOAD 014114,000127: 26,2071 06520 UNITX # READ (.5, 0, 0) 014115,000128: # Page 340 014116,000129: 26,2072 37765 V89CALL1 STCALL SCAXIS # STORE SELECTED ALIGNMENT AXIS 014117,000130: 26,2073 56040 VECPOINT # PUTS DESIRED GIM ANG (OG,IG,MG) IN TMPAC 014118,000131: 26,2074 00322 STORE CPHI # STOR GIMBAL ANGLES FOR BALLANGS CALL 014119,000132: 26,2075 77776 EXIT 014120,000133: 26,2076 04616 TC BANKCALL 014121,000134: 26,2077 54266 CADR BALLANGS # PUTS DESIRED BALL ANGLE IN FDAIX,Y,Z 014122,000135: 26,2100 32120 CAF VB06N18 # V 06 N 18 014123,000136: 26,2101 04616 TC BANKCALL # NOUN 18 REFERS TO FDAIX,Y,Z 014124,000137: 26,2102 20476 CADR GOFLASH 014125,000138: 26,2103 05472 TC ENDEXT # TERMINATE 014126,000139: 26,2104 02106 TC +2 # PROCEED 014127,000140: 26,2105 02036 TC V89RECL # RECYCLE 014128,000141: 26,2106 05516 TC DOWNFLAG # RESET 3 AXIS FLAG 014129,000142: 26,2107 00124 ADRES 3AXISFLG # RESET BIT6 FLAG WORD 5 014130,000143: 26,2110 04616 TC BANKCALL # PERFORMS LEM MANEUVER TO ALIGN SELECTED 014131,000144: 26,2111 54123 CADR R60LEM # SPACECRAFT AXIS TO CSM. 014132,000145: 26,2112 15472 TCF ENDEXT # TERMINATE R63 014133,000146: 014134,000147: 26,2113 06037 ALINEZ TC INTPRET # Z AXIS ALIGNMENT 014135,000148: 26,2114 52175 VLOAD GOTO 014136,000149: 26,2115 06514 UNITZ # READ (0, 0, .5) 014137,000150: 26,2116 54072 V89CALL1 014138,000151: 014139,000152: 26,2117 01014 VB04N12 VN 412 014140,000153: 26,2120 01422 VB06N18 VN 0618 014141,000154: # Page 341 014142,000155: 26,2121 00000 13560 DP1MIN 2DEC 6000 B-28 014143,000156: End of include-file R63.agc. Parent file is MAIN.agc