Source Code

036319,000001: # Copyright: Public domain. 036320,000002: # Filename: P12.agc 036321,000003: # Purpose: Part of the source code for Luminary 1A build 099. 036322,000004: # It is part of the source code for the Lunar Module's (LM) 036323,000005: # Apollo Guidance Computer (AGC), for Apollo 11. 036324,000006: # Assembler: yaYUL 036325,000007: # Contact: Hartmuth Gutsche <hgutsche@xplornet.com>. 036326,000008: # Website: www.ibiblio.org/apollo. 036327,000009: # Pages: 838-842 036328,000010: # Mod history: 2009-05-23 HG Transcribed from page images. 036329,000011: 036330,000012: # This source code has been transcribed or otherwise adapted from 036331,000013: # digitized images of a hardcopy from the MIT Museum. The digitization 036332,000014: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 036333,000015: # the Museum. Many thanks to both. The images (with suitable reduction 036334,000016: # in storage size and consequent reduction in image quality as well) are 036335,000017: # available online at www.ibiblio.org/apollo. If for some reason you 036336,000018: # find that the images are illegible, contact me at info@sandroid.org 036337,000019: # about getting access to the (much) higher-quality images which Paul 036338,000020: # actually created. 036339,000021: 036340,000022: # Notations on the hardcopy document read, in part: 036341,000023: 036342,000024: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 036343,000025: # 16:27 JULY 14, 1969 036344,000026: 036345,000027: # Page 838 036346,000028: 24,3670 BANK 24 036347,000029: 30,2000 SETLOC P12 036348,000030: 30,2000 BANK 036349,000031: 036350,000032: 30,2061 E7,1515 EBANK= DVCNTR 036351,000033: 30,2061 COUNT* $$/P12 036352,000034: 036353,000035: 30,2061 05353 P12LM TC PHASCHNG 036354,000036: 30,2062 04024 OCT 04024 036355,000037: 036356,000038: 30,2063 04616 TC BANKCALL 036357,000039: 30,2064 11254 CADR R02BOTH # CHECK THE STATUS OF THE IMU. 036358,000040: 036359,000041: 30,2065 05504 TC UPFLAG 036360,000042: 30,2066 00141 ADRES MUNFLAG 036361,000043: 036362,000044: 30,2067 05504 TC UPFLAG # INSURE 4-JET TRANSLATION CAPABILITY. 036363,000045: 30,2070 00307 ADRES ACC4-2FL 036364,000046: 036365,000047: 30,2071 05504 TC UPFLAG # PREVENT R10 FROM ISSUING CROSS-POINTER 036366,000048: 30,2072 00015 ADRES R10FLAG # OUTPUTS. 036367,000049: 036368,000050: 30,2073 06011 TC CLRADMOD # INITIALIZE RADMODES FOR R29 036369,000051: 036370,000052: 30,2074 05516 TC DOWNFLAG # CLEAR RENDEVOUS FLAG FOR P22 036371,000053: 30,2075 00010 ADRES RNDVZFLG 036372,000054: 036373,000055: 30,2076 36000 CAF THRESH2 # INITIALIZE DVMON 036374,000056: 30,2077 55251 TS DVTHRUSH 036375,000057: 30,2100 34751 CAF FOUR 036376,000058: 30,2101 55515 TS DVCNTR 036377,000059: 036378,000060: 30,2102 34755 CA ZERO 036379,000061: 30,2103 55462 TS TRKMKCNT # SHOW THAT R29 DOWNLINK DATA IS NOT READY. 036380,000062: 30,2104 33035 CAF V06N33A 036381,000063: 30,2105 04616 TC BANKCALL # FLASH TIG 036382,000064: 30,2106 20476 CADR GOFLASH 036383,000065: 30,2107 16001 TCF GOTOP00H 036384,000066: 30,2110 12112 TCF +2 # PROCEED 036385,000067: 30,2111 12104 TCF -5 # ENTER 036386,000068: 036387,000069: 30,2112 05353 TC PHASCHNG 036388,000070: 30,2113 04024 OCT 04024 036389,000071: 036390,000072: 30,2114 06037 TC INTPRET 036391,000073: 30,2115 77624 CALL # INITIALZE WM AND /LAND/ 036392,000074: 30,2116 46432 GUIDINIT 036393,000075: 30,2117 45014 SET CALL 036394,000076: 30,2120 04464 FLPI 036395,000077: 30,2121 60254 P12INIT 036396,000078: # Page 839 036397,000079: 30,2122 77745 P12LMB DLOAD 036398,000080: 30,2123 25761 (TGO)A # SET TGO TO AN INITIAL NOMINAL VALUE. 036399,000081: 30,2124 17517 STODL TGO 036400,000082: 30,2125 03442 TIG 036401,000083: 30,2126 34041 STCALL TDEC1 036402,000084: 30,2127 27057 LEMPREC # ROTATE THE STATE VECTORS TO THE 036403,000085: 30,2130 64375 VLOAD MXV # IGNITION TIME. 036404,000086: 30,2131 00007 VATT 036405,000087: 30,2132 01734 REFSMMAT 036406,000088: 30,2133 77772 VSL1 036407,000089: 30,2134 27601 STOVL V1S # COMPUTE V1S = VEL(TIG)*2(-7) M/CS. 036408,000090: 30,2135 00001 RATT 036409,000091: 30,2136 52521 MXV VSL6 036410,000092: 30,2137 01734 REFSMMAT 036411,000093: 30,2140 37521 STCALL R # COMPUTE R = POS(TIG)*2(-24) M. 036412,000094: 30,2141 67130 MUNGRAV # COMPUTE GDT1/2(TIG)*2(-T)M/CS. 036413,000095: 30,2142 53575 VLOAD UNIT 036414,000096: 30,2143 03521 R 036415,000097: 30,2144 37537 STCALL UNIT/R/ # COMPUTE UNIT/R/ FOR YCOMP. 036416,000098: 30,2145 57312 YCOMP 036417,000099: 30,2146 57461 SR DCOMP 036418,000100: 30,2147 20606 5D 036419,000101: 30,2150 17643 STODL XRANGE # INITIALIZE XRANGE FOR NOUN 76 036420,000102: 30,2151 06456 VINJNOM 036421,000103: 30,2152 16277 STODL ZDOTD 036422,000104: 30,2153 06460 RDOTDNOM 036423,000105: 30,2154 02273 STORE RDOTD 036424,000106: 30,2155 77776 EXIT 036425,000107: 036426,000108: 30,2156 05353 TC PHASCHNG 036427,000109: 30,2157 04024 OCT 04024 036428,000110: 036429,000111: 30,2160 33034 NEWLOAD CAF V06N76 # FLASH CROSS-RANGE, AND APOLUNE VALUES. 036430,000112: 30,2161 04616 TC BANKCALL 036431,000113: 30,2162 20476 CADR GOFLASH 036432,000114: 30,2163 16001 TCF GOTOP00H 036433,000115: 30,2164 12166 TCF +2 # PROCEED 036434,000116: 30,2165 12160 TCF NEWLOAD # ENTER NEW DATA. 036435,000117: 036436,000118: 30,2166 32320 CAF P12ADRES 036437,000119: 30,2167 55455 TS WHICH 036438,000120: 036439,000121: 30,2170 05353 TC PHASCHNG 036440,000122: 30,2171 04024 OCT 04024 036441,000123: 036442,000124: 30,2172 06037 TC INTPRET 036443,000125: 30,2173 54345 DLOAD SL 036444,000126: 30,2174 03643 XRANGE 036445,000127: 30,2175 20206 5D 036446,000128: 30,2176 77615 DAD 036447,000129: # Page 840 036448,000130: 30,2177 02335 Y 036449,000131: 30,2200 27633 STOVL YCO 036450,000132: 30,2201 03537 UNIT/R/ 036451,000133: 30,2202 53361 VXSC VAD 036452,000134: 30,2203 06454 49FPS 036453,000135: 30,2204 03601 V1S 036454,000136: 30,2205 03527 STORE V # V(TIPOVER) = V(IGN) + 57FPS (UNIT/R/) 036455,000137: 30,2206 72441 DOT SL1 036456,000138: 30,2207 03537 UNIT/R/ 036457,000139: 30,2210 27474 STOVL RDOT # RDOT = 2(-7) 036458,000140: 30,2211 03537 UNIT/R/ 036459,000141: 30,2212 53435 VXV UNIT 036460,000142: 30,2213 03720 QAXIS 036461,000143: 30,2214 03726 STORE ZAXIS1 036462,000144: 30,2215 77614 SETGO 036463,000145: 30,2216 04421 FLVR 036464,000146: 30,2217 60321 ASCENT 036465,000147: 30,2220 77745 P12RET DLOAD 036466,000148: 30,2221 02361 ATP # ATP(2)*2(18) 036467,000149: 30,2222 65316 DSQ PDDL 036468,000150: 30,2223 02355 ATY # ATY(2)*2(18) 036469,000151: 30,2224 43316 DSQ DAD 036470,000152: 30,2225 75454 BZE SQRT 036471,000153: 30,2226 60232 YAWDUN 036472,000154: 30,2227 55352 SL1 BDDV 036473,000155: 30,2230 02355 ATY 036474,000156: 30,2231 77736 ARCSIN 036475,000157: 30,2232 26363 YAWDUN STOVL YAW 036476,000158: 30,2233 03254 UNFC/2 036477,000159: 30,2234 50256 UNIT DOT 036478,000160: 30,2235 03537 UNIT/R/ 036479,000161: 30,2236 65552 SL1 ARCCOS 036480,000162: 30,2237 77676 DCOMP 036481,000163: 30,2240 02365 STORE PITCH 036482,000164: 30,2241 77776 EXIT 036483,000165: 30,2242 05353 TC PHASCHNG 036484,000166: 30,2243 04024 OCT 04024 036485,000167: 036486,000168: 30,2244 05516 TC DOWNFLAG 036487,000169: 30,2245 00213 ADRES FLPI 036488,000170: 036489,000171: 30,2246 00004 INHINT 036490,000172: 30,2247 04674 TC IBNKCALL 036491,000173: 30,2250 40142 CADR PFLITEDB 036492,000174: 30,2251 00003 RELINT 036493,000175: 036494,000176: 30,2252 04635 TC POSTJUMP 036495,000177: 30,2253 74126 CADR BURNBABY 036496,000178: 036497,000179: 30,2254 77745 P12INIT DLOAD # INITIALIZE ENGINE DATA. USED FOR P12 AND 036498,000180: # Page 841 036499,000181: 30,2255 16013 (1/DV)A # P71. 036500,000182: 30,2256 03641 STORE 1/DV3 036501,000183: 30,2257 03637 STORE 1/DV2 036502,000184: 30,2260 17635 STODL 1/DV1 036503,000185: 30,2261 16017 (AT)A 036504,000186: 30,2262 16263 STODL AT 036505,000187: 30,2263 16021 (TBUP)A 036506,000188: 30,2264 16271 STODL TBUP 036507,000189: 30,2265 34013 ATDECAY 036508,000190: 30,2266 54276 DCOMP SL 036509,000191: 30,2267 20214 11D 036510,000192: 30,2270 02267 STORE TTO 036511,000193: 30,2271 57535 SLOAD DCOMP 036512,000194: 30,2272 26001 APSVEX 036513,000195: 30,2273 77702 SR2 036514,000196: 30,2274 02265 STORE VE 036515,000197: 30,2275 43414 BOFF RVQ 036516,000198: 30,2276 04747 FLAP 036517,000199: 30,2277 60300 COMMINIT 036518,000200: 30,2300 43345 COMMINIT DLOAD DAD # INITIALIZE TARGET DATA. USED BY P12, P70 036519,000201: 30,2301 25757 HINJECT # AND P71 IF IT DOES NOT FOLLOW P70. 036520,000202: 30,2302 02333 /LAND/ 036521,000203: 30,2303 17631 STODL RCO 036522,000204: 30,2304 06522 HI6ZEROS 036523,000205: 30,2305 03654 STORE TXO 036524,000206: 30,2306 03633 STORE YCO 036525,000207: 30,2307 02273 STORE RDOTD 036526,000208: 30,2310 26275 STOVL YDOTD 036527,000209: 30,2311 01563 VRECTCSM 036528,000210: 30,2312 64235 VXV MXV 036529,000211: 30,2313 01555 RRECTCSM 036530,000212: 30,2314 01734 REFSMMAT 036531,000213: 30,2315 77656 UNIT 036532,000214: 30,2316 03720 STORE QAXIS 036533,000215: 30,2317 77616 RVQ 036534,000216: 30,2320 02022 P12ADRES REMADR P12TABLE 036535,000217: 036536,000218: 23,2000 SETLOC P12A 036537,000219: 23,2000 BANK 036538,000220: 23,2432 COUNT* $$/P12 036539,000221: 036540,000222: 23,2432 40220 GUIDINIT STQ SETPD 036541,000223: 23,2433 01164 TEMPR60 036542,000224: 23,2434 00001 0D 036543,000225: 23,2435 41575 VLOAD PUSH 036544,000226: 23,2436 06514 UNITZ 036545,000227: 23,2437 41434 RTB PUSH 036546,000228: 23,2440 21573 LOADTIME 036547,000229: 23,2441 77624 CALL 036548,000230: 23,2442 55716 RP-TO-R 036549,000231: # Page 842 036550,000232: 23,2443 74321 MXV VXSC 036551,000233: 23,2444 01734 REFSMMAT 036552,000234: 23,2445 16027 MOONRATE 036553,000235: 23,2446 26325 STOVL WM 036554,000236: 23,2447 02023 RLS 036555,000237: 23,2450 52446 ABVAL SL3 036556,000238: 23,2451 36333 STCALL /LAND/ 036557,000239: 23,2452 01164 TEMPR60 036558,000240: 036559,000241: 23,2453 00046 07374 49FPS 2DEC .149352 B-6 # EXPECTED RDOT AT TIPOVER 036560,000242: 23,2455 04145 15527 VINJNOM 2DEC 16.7924 B-7 # 5509.5 FPS(APO=30NM WITH RDOT=19.5FPS) 036561,000243: 23,2457 00007 23346 RDOTDNOM 2DEC .059436 B-7 # 19.5 FPS 036562,000244: 036563,000245: End of include-file P12.agc. Parent file is MAIN.agc