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