Source Code

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