Source Code

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