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