Source Code

019871,000001: # Copyright: Public domain. 019872,000002: # Filename: GROUND_TRACKING_DETERMINATION_PROGRAM.agc 019873,000003: # Purpose: Part of the source code for Comanche, build 055. 019874,000004: # It is part of the source code for the Command Module's (CM) 019875,000005: # Apollo Guidance Computer (AGC), Apollo 11. 019876,000006: # Assembler: yaYUL 019877,000007: # Reference: pp. 456-459 019878,000008: # Contact: Onno Hommes <ohommes@cmu.edu>. 019879,000009: # Website: www.ibiblio.org/apollo. 019880,000010: # Mod history: 2009-05-07 OH Transcription Batch 1 Assignment 019881,000011: # 2009-05-20 RSB Corrected a couple of DIMOFLAG to DIM0FLAG. 019882,000012: 019883,000013: # The contents of the "Comanche055" files, in general, are transcribed 019884,000014: # from scanned documents. 019885,000015: 019886,000016: # Assemble revision 055 of AGC program Comanche by NASA 019887,000017: # 2021113-051. April 1, 1969. 019888,000018: 019889,000019: # This AGC program shall also be referred to as Colossus 2A 019890,000020: 019891,000021: # Prepared by 019892,000022: # Massachussets Institute of Technology 019893,000023: # 75 Cambridge Parkway 019894,000024: # Cambridge, Massachusetts 019895,000025: 019896,000026: # under NASA contract NAS 9-4065. 019897,000027: 019898,000028: # Refer directly to the online document mentioned above for further information. 019899,000029: # Please report any errors to info@sandroid.org. 019900,000030: 019901,000031: # Page 456 019902,000032: # GROUND TRACKING DETERMINATION PROGRAM -- P21 019903,000033: 019904,000034: # PROGRAM DESCRIPTION 019905,000035: # MOD NO -- 1 019906,000036: # MOD BY -- N. M. NEVILLE 019907,000037: 019908,000038: # FUNCTIONAL DESCRIPTION -- 019909,000039: # TO PROVIDE THE ASTRONAUT DETAILS OF THE LM OR CSM GROUND TRACK WITHOUT 019910,000040: # THE NEED FOR GROUND COMMUNICATION (REQUESTED BY DSKY). 019911,000041: 019912,000042: # CALLING SEQUENCE -- 019913,000043: # ASTRONAUT REQUEST THROUGH DSKY V37E21E 019914,000044: 019915,000045: # SUBROUTINES CALLED -- 019916,000046: # GOPERF4 019917,000047: # GOFLASH 019918,000048: # THISPREC 019919,000049: # OTHPREC 019920,000050: # LAT-LONG 019921,000051: 019922,000052: # NORMAL EXIT MODES -- 019923,000053: # ASTRONAUT REQUEST THROUGH DSKY TO TERMINATE PROGRAM V34E 019924,000054: 019925,000055: # ALARM OR ABORT EXIT MODES -- 019926,000056: # NONE 019927,000057: 019928,000058: # OUTPUT -- 019929,000059: # OCTAL DISPLAY OF OPTION CODE AND VEHICLE WHOSE GROUND TRACK IS TO BE 019930,000060: # COMPUTED 019931,000061: # OPTION CODE 00002 019932,000062: # THIS 00001 019933,000063: # OTHER 00002 019934,000064: # DECIMAL DISPLAY OF TIME TO BE INTEGRATED TO HOURS , MINUTES , SECONDS 019935,000065: # DECIMAL DISPLAY OF LAT,LONG,ALT 019936,000066: 019937,000067: # ERASABLE INITIALIZATION REQUIRED 019938,000068: # AX0 2DEC 4.652459653 E-5 RADIANS "68-69 CONSTANTS" 019939,000069: # -AY0 2DEC 2.147535898 E-5 RADIANS 019940,000070: # AZ0 2DEC .7753206164 REVOLUTIONS 019941,000071: # FOR LUNAR ORBITS 504LM VECTOR IS NEEDED 019942,000072: # 504LM 2DEC -2.700340600 E-5 RADIANS 019943,000073: # 504LM _2 2DEC -7.514128400 E-4 RADIANS 019944,000074: # 504LM _4 2DEC _2.553198641 E-4 RADIANS 019945,000075: 019946,000076: # NONE 019947,000077: 019948,000078: # DEBRIS 019949,000079: 019950,000080: # Page 457 019951,000081: # CENTRALS -- A,Q,L 019952,000082: # OTHER -- THOSE USED BY THE ABOVE LISTED SUBROUTINES 019953,000083: # SEE LEMPREC, LAT-LONG 019954,000084: 019955,000085: 33,3776 30,2000 SBANK= LOWSUPER # FOR LOW 2CADR'S. 019956,000086: 019957,000087: 33,3776 BANK 33 019958,000088: 37,2000 SETLOC P20S 019959,000089: 37,2000 BANK 019960,000090: 019961,000091: 37,2001 E4,1715 EBANK= P21TIME 019962,000092: 37,2001 COUNT 24/P21 019963,000093: 019964,000094: 37,2001 35017 PROG21 CAF ONE 019965,000095: 37,2002 55132 TS OPTION2 # ASSUMED VEHICLE IS LM, R2 = 00001 019966,000096: 37,2003 35016 CAF BIT2 # OPTION 2 019967,000097: 37,2004 04662 TC BANKCALL 019968,000098: 37,2005 21055 CADR GOPERF4 019969,000099: 37,2006 04106 TC GOTOP00H # TERMINATE 019970,000100: 37,2007 02011 TC +2 # PROCEED VALUE OF ASSUMED VEHICLE OK 019971,000101: 37,2010 02003 TC -5 # R2 LOADED THROUGH DSKY 019972,000102: 37,2011 32152 P21PROG1 CAF V6N34 # LOAD DESIRED TIME OF LAT-LONG. 019973,000103: 37,2012 04662 TC BANKCALL 019974,000104: 37,2013 20720 CADR GOFLASH 019975,000105: 37,2014 04106 TC GOTOP00H # TERM 019976,000106: 37,2015 02017 TC +2 # PROCEED VALUES OK 019977,000107: 37,2016 02011 TC -5 # TIME LOADED THROUGH DSKY 019978,000108: 37,2017 06006 TC INTPRET 019979,000109: 37,2020 77745 DLOAD 019980,000110: 37,2021 01046 DSPTEM1 019981,000111: 37,2022 34041 STCALL TDEC1 # INTEG TO TIME SPECIFIED IN TDEC 019982,000112: 37,2023 27442 INTSTALL 019983,000113: 37,2024 43014 BON SET 019984,000114: 37,2025 01303 P21FLAG 019985,000115: 37,2026 76044 P21CONT # ON...RECYCLE USING BASE VECTOR 019986,000116: 37,2027 01474 VINTFLAG # OFF..1ST PASS CALC BASE VECTOR 019987,000117: 37,2030 70535 SLOAD SR1 019988,000118: 37,2031 01133 OPTION2 019989,000119: 37,2032 43030 BHIZ CLEAR 019990,000120: 37,2033 76035 +2 # ZERO..THIS VEHICLE (CM) 019991,000121: 37,2034 01674 VINTFLAG # ONE...OTHER VEHICLE(LM) 019992,000122: 37,2035 43014 CLEAR CLEAR 019993,000123: 37,2036 01676 DIM0FLAG 019994,000124: 37,2037 01673 INTYPFLG # PRECISION 019995,000125: 37,2040 77624 CALL 019996,000126: 37,2041 27162 INTEGRV # CALCULATE 019997,000127: 37,2042 77650 GOTO # .AND 019998,000128: 37,2043 76065 P21VSAVE # ..SAVE BASE VECTOR 019999,000129: 37,2044 77775 P21CONT VLOAD # RECYCLE..INTEG FROM BASE VECTOR 020000,000130: 37,2045 03605 P21BASER 020001,000131: # Page 458 020002,000132: 37,2046 25535 STOVL RCV # ..POS 020003,000133: 37,2047 03613 P21BASEV 020004,000134: 37,2050 15543 STODL VCV # ..VEL 020005,000135: 37,2051 02316 P21TIME 020006,000136: 37,2052 01517 STORE TET # ..TIME 020007,000137: 37,2053 43014 CLEAR CLEAR 020008,000138: 37,2054 01676 DIM0FLAG 020009,000139: 37,2055 00263 MOONFLAG 020010,000140: 37,2056 53135 SLOAD BZE 020011,000141: 37,2057 03604 P21ORIG 020012,000142: 37,2060 76063 +3 # ZERO = EARTH 020013,000143: 37,2061 77614 SET # ...2 = MOON 020014,000144: 37,2062 00063 MOONFLAG 020015,000145: 37,2063 77624 CALL 020016,000146: 37,2064 27135 INTEGRVS 020017,000147: 37,2065 77745 P21VSAVE DLOAD # SAVE CURRENT BASE VECTOR 020018,000148: 37,2066 00015 TAT 020019,000149: 37,2067 26316 STOVL P21TIME # ..TIME 020020,000150: 37,2070 00017 RATT1 020021,000151: 37,2071 27605 STOVL P21BASER # ..POS B-29 OR B-27 020022,000152: 37,2072 00025 VATT1 020023,000153: 37,2073 03613 STORE P21BASEV # ..VEL B-7 OR B-5 020024,000154: 37,2074 53646 ABVAL SL* 020025,000155: 37,2075 57576 0,2 020026,000156: 37,2076 27623 STOVL P21VEL # /VEL/ FOR N73 DSP 020027,000157: 37,2077 00001 RATT 020028,000158: 37,2100 50256 UNIT DOT 020029,000159: 37,2101 00007 VATT # U(R).(V) 020030,000160: 37,2102 67471 DDV ASIN # U(R).U(V) 020031,000161: 37,2103 03623 P21VEL 020032,000162: 37,2104 03625 STORE P21GAM # SIN-1 U(R).U(V), -90 TO +90 020033,000163: 37,2105 43134 SXA,2 SET 020034,000164: 37,2106 03603 P21ORIG # 0 = EARTH 2 = MOON 020035,000165: 37,2107 01063 P21FLAG 020036,000166: 37,2110 67214 P21DSP CLEAR SLOAD # GENERATE DISPLAY DATA 020037,000167: 37,2111 01663 LUNAFLAG 020038,000168: 37,2112 00050 X2 020039,000169: 37,2113 43054 BZE SET 020040,000170: 37,2114 76116 +2 # 0 = EARTH 020041,000171: 37,2115 01463 LUNAFLAG 020042,000172: 37,2116 77775 VLOAD 020043,000173: 37,2117 00001 RATT 020044,000174: 37,2120 16152 STODL ALPHAV 020045,000175: 37,2121 00015 TAT 020046,000176: 37,2122 45014 CLEAR CALL 020047,000177: 37,2123 00662 ERADFLAG 020048,000178: 37,2124 26370 LAT-LONG 020049,000179: 37,2125 77605 DMP # MPAC = ALT, METERS B-29 020050,000180: 37,2126 36154 K.01 020051,000181: 37,2127 03621 STORE P21ALT # ALT/100 FOR N73 DSP 020052,000182: # Page 459 020053,000183: 37,2130 77776 EXIT 020054,000184: 37,2131 32151 CAF V06N43 # DISPLAY LAT,LONG,ALT 020055,000185: 37,2132 04662 TC BANKCALL # LAT,LONG = REVS B0 BOTH EARTH/MOON 020056,000186: 37,2133 20720 CADR GOFLASH # ALT = METERS B-29 BOTH EARTH/MOON 020057,000187: 37,2134 04106 TC GOTOP00H # TERM 020058,000188: 37,2135 04106 TC GOTOP00H 020059,000189: 37,2136 06006 TC INTPRET # V32E RECYCLE 020060,000190: 37,2137 43345 DLOAD DAD 020061,000191: 37,2140 02316 P21TIME 020062,000192: 37,2141 36146 600SEC # 600 SECONDS OR 10 MIN 020063,000193: 37,2142 01046 STORE DSPTEM1 020064,000194: 37,2143 77634 RTB 020065,000195: 37,2144 76011 P21PROG1 020066,000196: 020067,000197: 37,2145 00003 25140 600SEC 2DEC 60000 B-28 # 10 MIN 020068,000198: 020069,000199: 37,2147 00001 P21ONENN OCT 00001 # NEEDED TO DETERMINE VEHICLE 020070,000200: 37,2150 00000 OCT 00000 # TO BE INTEGRATED 020071,000201: 37,2151 01453 V06N43 VN 00643 020072,000202: 37,2152 01442 V6N34 VN 00634 020073,000203: 37,2153 00243 32703 K.01 2DEC .01 020074,000204: End of include-file GROUND_TRACKING_DETERMINATION_PROGRAM.agc. Parent file is MAIN.agc