Source Code
![]() |
These source-code files were obtained by digitally photographing
an Artemis 72 (Apollo 15-17 Command Module) program listing from a private
collection and then
modifying pre-existing Comanche 55 (Apollo 11) source files to
incorporate changes. Photography was by Ron Burkey, and transcription
was performed by a team of volunteers. Note that the page images
presented online are of reduced quality, and that additional images
may be available. Report any conversion errors or legibility
problems in page images to info@sandroid.org.
Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 072 OF AGC PROGRAM ARTEMIS BY NASA 2021114-011 11:40 FEB. 26, 1971Note that the date is the date of the printout, not the date of the program revision. |
018489,000002: ## Copyright: Public domain.
018490,000003: ## Filename: GIMBAL_LOCK_AVOIDANCE.agc
018491,000004: ## Purpose: Part of the source code for Artemis (i.e., Colossus 3),
018492,000005: ## build 072. This is for the Command Module's (CM)
018493,000006: ## Apollo Guidance Computer (AGC), for
018494,000007: ## Apollo 15-17.
018495,000008: ## Assembler: yaYUL
018496,000009: ## Contact: Sergio Navarro <sergionavarrog@gmail.com>
018497,000010: ## Website: www.ibiblio.org/apollo/index.html
018498,000011: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Artemis072/
018499,000012: ## Mod history: 2009-08-19 SN Adapted from corresponding Comanche 055 file.
018500,000013: ## 2009-09-04 JL Minor changes.
018501,000014: ## 2010-02-20 RSB Un-##'d this header.
018502,000015: ## 2017-02-05 RSB Proofed comment text by diff'ing vs Comanche 55
018503,000016: ## but no differences found.
018504,000017:
![]() |
Page 416 |
018506,000019:
018507,000020: 22,2000 SETLOC KALCMON1
018508,000021: 22,2000 BANK
018509,000022:
018510,000023: 22,2745 COUNT* $$/KALC
018511,000024: 22,2745 E6,1661 EBANK= BCDU
018512,000025:
018513,000026: # DETECTING GIMBAL LOCK
018514,000027: 22,2745 22,2745 LOCSKIRT EQUALS WCALC
018515,000028: 22,2745 70740 WCALC LXC,1 DLOAD*
018516,000029: 22,2746 00774 RATEINDX
018517,000030: 22,2747 05002 ARATE,1
018518,000031: 22,2750 45002 SR4 CALL # COMPUTE THE INCREMENTAL ROTATION MATRIX
018519,000032: 22,2751 44522 DELCOMP # DEL CORRESPONDING TO A 1 SEC ROTATION
018520,000033: # ABOUT COF
018521,000034: 22,2752 74343 DLOAD* VXSC
018522,000035: 22,2753 05002 ARATE,1
018523,000036: 22,2754 03343 COF
018524,000037: 22,2755 77721 MXV
018525,000038: 22,2756 05014 QUADROT
018526,000039: 22,2757 17311 STODL BRATE
018527,000040: 22,2760 03365 AM
018528,000041: 22,2761 55605 DMP DDV*
018529,000042: 22,2762 05012 ANGLTIME
018530,000043: 22,2763 05002 ARATE,1
018531,000044: 22,2764 77661 SR
018532,000045: 22,2765 20606 5
018533,000046: 22,2766 03317 STORE TM
018534,000047: 22,2767 77214 BON VLOAD
018535,000048: 22,2770 00313 CYC61FLG
018536,000049: 22,2771 71747 RCYCLR61
018537,000050: 22,2772 03311 BRATE
018538,000051: 22,2773 77761 VXSC
018539,000052: 22,2774 05036 BIASCALE
018540,000053: 22,2775 03275 STORE BIASTEMP # ATTITUDE ERROR BIAS TO PREVENT OVERSHOOT
018541,000054: # IN SYSTEM
018542,000055: 22,2776 77614 SETGO # STATE SWITCH CALCMAN2 (43D)
018543,000056: 22,2777 01035 CALCMAN2 # 0(OFF) = BYPASS STARTING PROCEDURE
018544,000057: 22,3000 45053 NEWANGL +1 # 1(ON) = START MANEUVER
018545,000058:
018546,000059:
018547,000060: 22,3001 00044 15053 ARATE 2DEC .0022222222 # = .05 DEG/SEC
018548,000061: 22,3003 00221 24255 2DEC .0088888889 # = .2 DEG/SEC
018549,000062: 22,3005 00554 02660 2DEC .0222222222 # = .5 DEG/SEC
018550,000063: 22,3007 02660 13301 2DEC .0888888889 # = 2 DEG/SEC $22.5 DEG/SEC
018551,000064: 22,3011 00003 04000 ANGLTIME 2DEC .000190735 # = 100B - 19
018552,000065: # MANEUVER ANGLE TO MANEUVER TIME
![]() |
Page 417 |
018554,000067: 22,3013 03146 14632 QUADROT 2DEC .1 # ROTATION MATRIX FROM S/C AXES TO CONTROL
018555,000068: 22,3015 00000 00000 2DEC 0 B-28 # AXES (X ROT = -7.25 DEG)
018556,000069: 22,3017 00000 00000 2DEC 0 B-28
018557,000070: 22,3021 00000 00000 2DEC 0 B-28
018558,000071: 22,3023 03131 11275 2DEC .099200 # =(.1)COS7.25
018559,000072: 22,3025 77461 47370 2DEC -.012620 # =-(.1)SIN7.25
018560,000073: 22,3027 00000 00000 2DEC 0 B-28
018561,000074: 22,3031 00316 30407 2DEC .012620 # (.1)SIN7.25
018562,000075: 22,3033 03131 11275 2DEC .099200 # (.1)COS7.25
018563,000076: 22,3035 00004 05253 BIASCALE 2DEC .0002543132 # = (450/180)(1/0.6)(1/16384)
End of include-file GIMBAL_LOCK_AVOIDANCE.agc. Parent file is MAIN.agc