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