Source Code

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