Source Code

035174,000001: # Copyright: Public domain. 035175,000002: # Filename: P12.agc 035176,000003: # Purpose: A section of Luminary 1C, revision 131. 035177,000004: # It is part of the source code for the Lunar Module's (LM) 035178,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 035179,000006: # This file is intended to be a faithful transcription, except 035180,000007: # that the code format has been changed to conform to the 035181,000008: # requirements of the yaYUL assembler rather than the 035182,000009: # original YUL assembler. 035183,000010: # Reference: pp. 836-840 of 1729.pdf. 035184,000011: # Contact: Ron Burkey <info@sandroid.org>. 035185,000012: # Website: www.ibiblio.org/apollo/index.html 035186,000013: # Mod history: 05/26/03 RSB. Began transcribing. 035187,000014: # 05/14/05 RSB Corrected website reference above. 035188,000015: 035189,000016: # Page 836 035190,000017: 24,3700 BANK 24 035191,000018: 30,2000 SETLOC P12 035192,000019: 30,2000 BANK 035193,000020: 035194,000021: 30,2061 E7,1515 EBANK= DVCNTR 035195,000022: 30,2061 COUNT* $$/P12 035196,000023: 035197,000024: 30,2061 05353 P12LM TC PHASCHNG 035198,000025: 30,2062 04024 OCT 04024 035199,000026: 035200,000027: 30,2063 04616 TC BANKCALL 035201,000028: 30,2064 11233 CADR R02BOTH # CHECK THE STATUS OF THE IMU 035202,000029: 30,2065 06011 TC CLRADMOD # INITIALIZE RADMODES FOR R29 035203,000030: 30,2066 36000 CAF THRESH2 # INITIALIZE DVMON 035204,000031: 30,2067 55250 TS DVTHRUSH 035205,000032: 30,2070 34751 CAF FOUR 035206,000033: 30,2071 55515 TS DVCNTR 035207,000034: 035208,000035: 30,2072 34755 CA ZERO 035209,000036: 30,2073 55462 TS TRKMKCNT # SHOW THAT R29 DOWNLINK DATA IS NOT READY 035210,000037: 035211,000038: 30,2074 33022 CAF V06N33A 035212,000039: 30,2075 04616 TC BANKCALL # FLASH TIG 035213,000040: 30,2076 20477 CADR GOFLASH 035214,000041: 30,2077 16001 TCF GOTOP00H 035215,000042: 30,2100 12102 TCF +2 # PROCEED 035216,000043: 30,2101 12074 TCF -5 # ENTER 035217,000044: 035218,000045: 30,2102 05353 TC PHASCHNG 035219,000046: 30,2103 04024 OCT 04024 035220,000047: 035221,000048: 30,2104 06042 TC INTPRET 035222,000049: 30,2105 43014 SET SET 035223,000050: 30,2106 03067 MUNFLAG 035224,000051: 30,2107 06464 ACC4-2FL 035225,000052: 30,2110 43014 SET CLEAR 035226,000053: 30,2111 00075 R10FLAG 035227,000054: 30,2112 00270 RNDVZFLG 035228,000055: 30,2113 43014 SET SET 035229,000056: 30,2114 04464 FLPI 035230,000057: 30,2115 04461 FLVR 035231,000058: 30,2116 77624 CALL # INITIALZE WM AND /LAND/ 035232,000059: 30,2117 71343 GUIDINIT 035233,000060: 30,2120 77624 CALL 035234,000061: 30,2121 60251 P12INIT 035235,000062: 30,2122 77745 P12LMB DLOAD 035236,000063: 30,2123 25740 (TGO)A # SET TGO TO AN INITIAL NOMINAL VALUE. 035237,000064: 30,2124 17517 STODL TGO 035238,000065: # Page 837 035239,000066: 30,2125 03442 TIG 035240,000067: 30,2126 34041 STCALL TDEC1 035241,000068: 30,2127 27056 LEMPREC # ROTATE THE STATE VECTORS TO THE 035242,000069: 30,2130 64375 VLOAD MXV # IGNITION TIME. 035243,000070: 30,2131 00007 VATT 035244,000071: 30,2132 01734 REFSMMAT 035245,000072: 30,2133 77772 VSL1 035246,000073: 30,2134 27601 STOVL V1S # COMPUTE V1S = VEL(TIG)*2(-7) M/CS. 035247,000074: 30,2135 00001 RATT 035248,000075: 30,2136 52521 MXV VSL6 035249,000076: 30,2137 01734 REFSMMAT 035250,000077: 30,2140 37521 STCALL R # COMPUTE R = POS(TIG)*2(-24) M. 035251,000078: 30,2141 67067 MUNGRAV # COMPUTE GDT1/2(TIG)*2(-T)M/CS. 035252,000079: 30,2142 53575 VLOAD UNIT 035253,000080: 30,2143 03521 R 035254,000081: 30,2144 37537 STCALL UNIT/R/ # COMPUTE UNIT/R/ FOR YCOMP. 035255,000082: 30,2145 57313 YCOMP 035256,000083: 30,2146 57461 SR DCOMP 035257,000084: 30,2147 20606 5D 035258,000085: 30,2150 17643 STODL XRANGE # INITIALIZE XRANGE FOR NOUN 76 035259,000086: 30,2151 31367 VINJNOM 035260,000087: 30,2152 16277 STODL ZDOTD 035261,000088: 30,2153 31371 RDOTDNOM 035262,000089: 30,2154 02273 STORE RDOTD 035263,000090: 30,2155 77776 EXIT 035264,000091: 035265,000092: 30,2156 05353 TC PHASCHNG 035266,000093: 30,2157 04024 OCT 04024 035267,000094: 035268,000095: 30,2160 33021 NEWLOAD CAF V06N76 # FLASH CROSS-RANGE, AND APOLUNE VALUES. 035269,000096: 30,2161 04616 TC BANKCALL 035270,000097: 30,2162 20477 CADR GOFLASH 035271,000098: 30,2163 16001 TCF GOTOP00H 035272,000099: 30,2164 12166 TCF +2 # PROCEED 035273,000100: 30,2165 12160 TCF NEWLOAD # ENTER NEW DATA. 035274,000101: 035275,000102: 30,2166 32314 CAF P12ADRES 035276,000103: 30,2167 55455 TS WHICH 035277,000104: 035278,000105: 30,2170 05353 TC PHASCHNG 035279,000106: 30,2171 04024 OCT 04024 035280,000107: 035281,000108: 30,2172 06042 TC INTPRET 035282,000109: 30,2173 54345 DLOAD SL 035283,000110: 30,2174 03643 XRANGE 035284,000111: 30,2175 20206 5D 035285,000112: 30,2176 77615 DAD 035286,000113: 30,2177 02335 Y 035287,000114: 30,2200 27633 STOVL YCO 035288,000115: 30,2201 03537 UNIT/R/ 035289,000116: # Page 838 035290,000117: 30,2202 53361 VXSC VAD 035291,000118: 30,2203 31365 49FPS 035292,000119: 30,2204 03601 V1S 035293,000120: 30,2205 03527 STORE V # V(TIPOVER) = V(IGN) + 57FPS (UNIT/R/) 035294,000121: 30,2206 72441 DOT SL1 035295,000122: 30,2207 03537 UNIT/R/ 035296,000123: 30,2210 27474 STOVL RDOT # RDOT = 2(-7) 035297,000124: 30,2211 03537 UNIT/R/ 035298,000125: 30,2212 53435 VXV UNIT 035299,000126: 30,2213 03720 QAXIS 035300,000127: 30,2214 37726 STCALL ZAXIS1 035301,000128: 30,2215 60315 ASCENT 035302,000129: 30,2216 77745 P12RET DLOAD 035303,000130: 30,2217 02361 ATP # ATP(2)*2(18) 035304,000131: 30,2220 65316 DSQ PDDL 035305,000132: 30,2221 02355 ATY # ATY(2)*2(18) 035306,000133: 30,2222 43316 DSQ DAD 035307,000134: 30,2223 75454 BZE SQRT 035308,000135: 30,2224 60230 YAWDUN 035309,000136: 30,2225 55352 SL1 BDDV 035310,000137: 30,2226 02355 ATY 035311,000138: 30,2227 77736 ARCSIN 035312,000139: 30,2230 26363 YAWDUN STOVL YAW 035313,000140: 30,2231 03253 UNFC/2 035314,000141: 30,2232 50256 UNIT DOT 035315,000142: 30,2233 03537 UNIT/R/ 035316,000143: 30,2234 65552 SL1 ARCCOS 035317,000144: 30,2235 77676 DCOMP 035318,000145: 30,2236 02365 STORE PITCH 035319,000146: 30,2237 77776 EXIT 035320,000147: 30,2240 05353 TC PHASCHNG 035321,000148: 30,2241 04024 OCT 04024 035322,000149: 035323,000150: 30,2242 00004 INHINT 035324,000151: 30,2243 04674 TC IBNKCALL 035325,000152: 30,2244 40143 CADR PFLITEDB 035326,000153: 30,2245 05516 TC DOWNFLAG 035327,000154: 30,2246 00213 ADRES FLPI 035328,000155: 035329,000156: 30,2247 04635 TC POSTJUMP 035330,000157: 30,2250 74130 CADR BURNBABY 035331,000158: 035332,000159: 30,2251 77745 P12INIT DLOAD # INITIALIZE ENGINE DATA. USED FOR P12 AND 035333,000160: 30,2252 16013 (1/DV)A # P71. 035334,000161: 30,2253 03641 STORE 1/DV3 035335,000162: 30,2254 03637 STORE 1/DV2 035336,000163: 30,2255 17635 STODL 1/DV1 035337,000164: 30,2256 16017 (AT)A 035338,000165: 30,2257 16263 STODL AT 035339,000166: 30,2260 16021 (TBUP)A 035340,000167: # Page 839 035341,000168: 30,2261 16271 STODL TBUP 035342,000169: 30,2262 34013 ATDECAY 035343,000170: 30,2263 54276 DCOMP SL 035344,000171: 30,2264 20214 11D 035345,000172: 30,2265 02267 STORE TTO 035346,000173: 30,2266 57535 SLOAD DCOMP 035347,000174: 30,2267 26001 APSVEX 035348,000175: 30,2270 77702 SR2 035349,000176: 30,2271 02265 STORE VE 035350,000177: 30,2272 43414 BOFF RVQ 035351,000178: 30,2273 04747 FLAP 035352,000179: 30,2274 60275 COMMINIT 035353,000180: 30,2275 43345 COMMINIT DLOAD DAD # INITIALIZE TARGET DATA. USED BY P12, P70 035354,000181: 30,2276 25736 HINJECT # AND P71 IF IT DOES NOT FOLLOW P70. 035355,000182: 30,2277 02333 /LAND/ 035356,000183: 30,2300 17631 STODL RCO 035357,000184: 30,2301 06524 HI6ZEROS 035358,000185: 30,2302 03654 STORE TXO 035359,000186: 30,2303 03633 STORE YCO 035360,000187: 30,2304 26275 STOVL YDOTD 035361,000188: 30,2305 01563 VRECTCSM 035362,000189: 30,2306 64235 VXV MXV 035363,000190: 30,2307 01555 RRECTCSM 035364,000191: 30,2310 01734 REFSMMAT 035365,000192: 30,2311 77656 UNIT 035366,000193: 30,2312 03720 STORE QAXIS 035367,000194: 30,2313 77616 RVQ 035368,000195: 035369,000196: 30,2314 02024 P12ADRES REMADR P12TABLE 035370,000197: 035371,000198: 34,2000 SETLOC ASENT8 035372,000199: 34,2000 BANK 035373,000200: 34,3343 COUNT* $$/P12 035374,000201: 035375,000202: 34,3343 40220 GUIDINIT STQ SETPD 035376,000203: 34,3344 01163 TEMPR60 035377,000204: 34,3345 00001 0D 035378,000205: 34,3346 41575 VLOAD PUSH 035379,000206: 34,3347 06516 UNITZ 035380,000207: 34,3350 41434 RTB PUSH 035381,000208: 34,3351 21574 LOADTIME 035382,000209: 34,3352 77624 CALL 035383,000210: 34,3353 55716 RP-TO-R 035384,000211: 34,3354 74321 MXV VXSC 035385,000212: 34,3355 01734 REFSMMAT 035386,000213: 34,3356 16027 MOONRATE 035387,000214: 34,3357 26325 STOVL WM 035388,000215: 34,3360 02023 RLS 035389,000216: 34,3361 52446 ABVAL SL3 035390,000217: 34,3362 36333 STCALL /LAND/ 035391,000218: # Page 840 035392,000219: 34,3363 01163 TEMPR60 035393,000220: 035394,000221: 34,3364 00046 07374 49FPS 2DEC .149352 B-6 # EXPECTED RDOT AT TIPOVER 035395,000222: 34,3366 04145 15527 VINJNOM 2DEC 16.7924 B-7 # 5509.5 FPS(APO=30NM WITH RDOT=19.5FPS) 035396,000223: 34,3370 00007 23346 RDOTDNOM 2DEC .059436 B-7 # 19.5 FPS 035397,000224: 035398,000225: End of include-file P12.agc. Parent file is MAIN.agc