Source Code

017633,000001: # Copyright: Public domain. 017634,000002: # Filename: GIMBAL_LOCK_AVOIDANCE.agc 017635,000003: # Purpose: Part of the source code for Colossus, build 249. 017636,000004: # It is part of the source code for the Command Module's (CM) 017637,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9. 017638,000006: # Assembler: yaYUL 017639,000007: # Reference: pp. 407-408 of 1701.pdf. 017640,000008: # Contact: Ron Burkey <info@sandroid.org>. 017641,000009: # Website: www.ibiblio.org/apollo. 017642,000010: # Mod history: 08/10/04 RSB. Began transcribing. 017643,000011: 017644,000012: # The contents of the "Colossus249" files, in general, are transcribed 017645,000013: # from a scanned document obtained from MIT's website, 017646,000014: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this 017647,000015: # document read, in part: 017648,000016: 017649,000017: # Assemble revision 249 of AGC program Colossus by NASA 017650,000018: # 2021111-041. October 28, 1968. 017651,000019: 017652,000020: # This AGC program shall also be referred to as 017653,000021: # Colossus 1A 017654,000022: 017655,000023: # Prepared by 017656,000024: # Massachusetts Institute of Technology 017657,000025: # 75 Cambridge Parkway 017658,000026: # Cambridge, Massachusetts 017659,000027: # under NASA contract NAS 9-4065. 017660,000028: 017661,000029: # Refer directly to the online document mentioned above for further information. 017662,000030: # Please report any errors (relative to 1701.pdf) to info@sandroid.org. 017663,000031: 017664,000032: # In some cases, where the source code for Luminary 131 overlaps that of 017665,000033: # Colossus 249, this code is instead copied from the corresponding Luminary 131 017666,000034: # source file, and then is proofed to incorporate any changes. 017667,000035: 017668,000036: # Page 407 017669,000037: 15,2000 BANK 15 017670,000038: 017671,000039: 22,2000 SETLOC KALCMON1 017672,000040: 22,2000 BANK 017673,000041: 017674,000042: 22,2736 E6,1661 EBANK= BCDU 017675,000043: 017676,000044: # DETECTING GIMBAL LOCK 017677,000045: 22,2736 22,2736 LOCSKIRT EQUALS NOGIMLOC 017678,000046: 017679,000047: 22,2736 77614 NOGIMLOC SET 017680,000048: 22,2737 01074 CALCMAN3 017681,000049: 22,2740 70740 WCALC LXC,1 DLOAD* 017682,000050: 22,2741 01130 RATEINDX 017683,000051: 22,2742 04772 ARATE,1 017684,000052: 22,2743 45002 SR4 CALL # COMPUTE THE INCREMENTAL ROTATION MATRIX 017685,000053: 22,2744 44530 DELCOMP # DEL CORRESPONDING TO A 1 SEC ROTATION 017686,000054: # ABOUT COF 017687,000055: 22,2745 74343 DLOAD* VXSC 017688,000056: 22,2746 04772 ARATE,1 017689,000057: 22,2747 03343 COF 017690,000058: 22,2750 77721 MXV 017691,000059: 22,2751 05004 QUADROT 017692,000060: 017693,000061: 22,2752 17311 STODL BRATE 017694,000062: 22,2753 03365 AM 017695,000063: 22,2754 55605 DMP DDV* 017696,000064: 22,2755 05002 ANGLTIME 017697,000065: 22,2756 04772 ARATE,1 017698,000066: 22,2757 77661 SR 017699,000067: 22,2760 20606 5 017700,000068: 22,2761 27317 STOVL TM 017701,000069: 22,2762 03311 BRATE 017702,000070: 22,2763 77761 VXSC 017703,000071: 22,2764 05026 BIASCALE 017704,000072: 22,2765 03275 STORE BIASTEMP # ATTITUDE ERROR BIAS TO PREVENT OVERSHOOT 017705,000073: # IN SYSTEM 017706,000074: 22,2766 77614 SETGO # STATE SWITCH CALCMAN2 (43D) 017707,000075: 22,2767 01035 CALCMAN2 # 0(OFF) = BYPASS STARTING PROCEDURE 017708,000076: 22,2770 45033 NEWANGL +1 # 1(ON) = START MANEUVER 017709,000077: 017710,000078: 22,2771 00044 15053 ARATE 2DEC .0022222222 # = .05 DEG/SEC 017711,000079: 22,2773 00221 24255 2DEC .0088888889 # = .2 DEG/SEC 017712,000080: 22,2775 00554 02660 2DEC .0222222222 # = .5 DEG/SEC 017713,000081: 22,2777 05540 26603 2DEC .1777777777 # = 4 DEG/SEC 017714,000082: 017715,000083: 22,3001 00003 04000 ANGLTIME 2DEC .000190735 # = 100B-19 017716,000084: # MANEUVER ANGLE TO MANEUVER TIME 017717,000085: # Page 408 017718,000086: 22,3003 03146 14632 QUADROT 2DEC .1 # ROTATION MATRIX FROM S/C AXES TO CONTROL 017719,000087: 22,3005 00000 00000 2DEC 0 B-28 # AXES (X ROT = -7.25 DEG) 017720,000088: 22,3007 00000 00000 2DEC 0 B-28 017721,000089: 22,3011 00000 00000 2DEC 0 B-28 017722,000090: 22,3013 03131 11275 2DEC .099200 # = (.1)COS7.25 017723,000091: 22,3015 77461 47370 2DEC -.012620 # =-(.1)SIN7.25 017724,000092: 22,3017 00000 00000 2DEC 0 B-28 017725,000093: 22,3021 00316 30407 2DEC .012620 # (.1)SIN7.25 017726,000094: 22,3023 03131 11275 2DEC .099200 # (.1)COS7.25 017727,000095: 22,3025 00004 05253 BIASCALE 2DEC .0002543132 # (450/180)(1/0.6)(1/16384) 017728,000096: 017729,000097: End of include-file GIMBAL_LOCK_AVOIDANCE.agc. Parent file is MAIN.agc