Source Code

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