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