Source Code

029672,000001: # Copyright: Public domain. 029673,000002: # Filename: P76.agc 029674,000003: # Purpose: A section of Luminary 1C, revision 131. 029675,000004: # It is part of the source code for the Lunar Module's (LM) 029676,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 029677,000006: # This file is intended to be a faithful transcription, except 029678,000007: # that the code format has been changed to conform to the 029679,000008: # requirements of the yaYUL assembler rather than the 029680,000009: # original YUL assembler. 029681,000010: # Reference: pp. 716-718 of 1729.pdf. 029682,000011: # Contact: Ron Burkey <info@sandroid.org>. 029683,000012: # Website: www.ibiblio.org/apollo 029684,000013: # Mod history: 05/24/03 RSB. Began transcribing. 029685,000014: 029686,000015: # Page 716 029687,000016: # 1) PROGRAM NAME -- TARGET DELTA V PROGRAM (P76). 029688,000017: # 2) FUNCTIONAL DESCRIPTION -- UPON ENTRY BY ASTRONAUT ACTION, P76 FLASHES DSKY REQUESTS TO THE ASTRONAUT 029689,000018: # TO PROVIDE VIA DSKY (1) THE DELTA V TO BE APPLIED TO THE OTHER VEHICLE STATE VECTOR AND (2) THE 029690,000019: # TIME (TIG) AT WHICH THE OTHER VEHICLE VELOCITY WAS CHANGED BY EXECUTION OF A THRUSTING MANEUVER. THE 029691,000020: # OTHER VEHICLE STATE VECTOR IS INTEGRATED TO TIG AND UPDATED BY THE ADDITION OF DELTA V (DELTA V HAVING 029692,000021: # BEEN TRANSFORMED FROM LV TO REF COSYS). USING INTEGRVS, THE PROGRAM THEN INTEGRATES THE OTHER 029693,000022: # VEHICLE STATE VECTOR TO THE STATE VECTOR OF THIS VEHICLE, THUS INSURING THAT THE W-MATRIX AND BOTH VEHICLE 029694,000023: # STATES CORRESPOND TO THE SAME TIME. 029695,000024: # 3) ERASABLE INIITIALIZATION REQUIRED -- NONE. 029696,000025: # 4) CALLING SEQUENCES AND EXIT MODES -- CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76E. 029697,000026: # EXITS BY TCF ENDOFJOB. 029698,000027: # 5) OUTPUT -- OTHER VEHICLE STATE VECTOR INTEGRATED TO TIG AND INCREMENTED BY DELTA V IN REF COSYS. 029699,000028: # THE PUSHLIST CONTAINS THE MATRIX BY WHICH THE INPUT DELTA V MUST BE POST-MULTIPLIED TO CONVERT FROM LV 029700,000029: # TO REF COSYS. 029701,000030: # 6) DEBRIS -- OTHER VEHICLE STATE VECTOR. 029702,000031: # 7) SUBROUTINES CALLED -- BANKCALL, GOXDSPF, CSMPREC (OR LEMPREC), ATOPCSM (OR ATOPLEM), INTSTALL, INTWAKE, PHASCHNG 029703,000032: # INTPRET, INTEGRVS, AND MINIRECT. 029704,000033: # 8) FLAG USE -- MOONFLAG, CMOONFLG, INTYPFLG, RASFLAG, AND MARKCT. 029705,000034: 029706,000035: 30,2061 BANK 30 029707,000036: 13,2000 SETLOC P76LOC 029708,000037: 13,2000 BANK 029709,000038: 029710,000039: 13,2207 COUNT* $$/P76 029711,000040: 029712,000041: 13,2207 E7,1441 EBANK= TIG 029713,000042: 029714,000043: 13,2207 05504 P76 TC UPFLAG 029715,000044: 13,2210 00031 ADRES TRACKFLG 029716,000045: 029717,000046: 13,2211 06042 TC INTPRET 029718,000047: 13,2212 77775 VLOAD 029719,000048: 13,2213 03434 DELVLVC 029720,000049: 13,2214 02223 STORE DELVOV 029721,000050: 13,2215 77776 EXIT 029722,000051: 029723,000052: 13,2216 32335 CAF V06N84 +1 # FLASH VERB 06 NOUN 33, DISPLAY LAST TIG, 029724,000053: 13,2217 04616 TC BANKCALL # AND WAIT FOR KEYBOARD ACTION. 029725,000054: 13,2220 20477 CADR GOFLASH 029726,000055: 13,2221 12331 TCF ENDP76 029727,000056: 13,2222 02224 TC +2 # PROCEED 029728,000057: 13,2223 02216 TC -5 # STORE DATA AND REPEAT FLASHING 029729,000058: 13,2224 32334 CAF V06N84 # FLASH LAST DELTA V, 029730,000059: 13,2225 04616 TC BANKCALL # AND WAIT FOR KEYBOARD ACTION. 029731,000060: 13,2226 20477 CADR GOFLASH 029732,000061: 13,2227 12331 TCF ENDP76 029733,000062: 13,2230 02232 TC +2 029734,000063: 13,2231 02224 TC -5 029735,000064: 13,2232 06042 TC INTPRET # RETURN TO INTERPRETIVE CODE 029736,000065: # Page 717 029737,000066: 13,2233 43145 DLOAD SET 029738,000067: 13,2234 03442 TIG 029739,000068: 13,2235 01076 NODOFLAG 029740,000069: 13,2236 34041 STCALL TDEC1 # SET TDEC1=TIG FOR ORBITAL INTEGRATION 029741,000070: 13,2237 27042 OTHPREC 029742,000071: 13,2240 53575 COMPMAT VLOAD UNIT 029743,000072: 13,2241 00001 RATT 029744,000073: 13,2242 77676 VCOMP # U(-R) 029745,000074: 13,2243 00031 STORE 24D # U(-R) TO 24D 029746,000075: 13,2244 53435 VXV UNIT # U(-R) X V = U(V X R) 029747,000076: 13,2245 00007 VATT 029748,000077: 13,2246 00023 STORE 18D 029749,000078: 13,2247 53435 VXV UNIT # U(V X R) X U(-R) = U((R X V) X R) 029750,000079: 13,2250 00031 24D 029751,000080: 13,2251 24015 STOVL 12D 029752,000081: 13,2252 02223 DELVOV 029753,000082: 13,2253 76505 VXM VSL1 # V(MPAC)=DELTA V IN REFCOSYS 029754,000083: 13,2254 00015 12D 029755,000084: 13,2255 77655 VAD 029756,000085: 13,2256 00007 VATT 029757,000086: 13,2257 00007 STORE 6 # V(PD6)=VATT + DELTA V 029758,000087: 13,2260 77624 CALL # PRESENT WOULD-BE USER OF ORBITAL 029759,000088: 13,2261 27410 INTSTALL # INTEG FROM INTERFERING WITH UPDATING 029760,000089: 13,2262 77624 CALL 029761,000090: 13,2263 26336 P76SUB1 029762,000091: 13,2264 53775 VLOAD VSR* 029763,000092: 13,2265 00007 6 029764,000093: 13,2266 57176 0,2 029765,000094: 13,2267 25543 STOVL VCV 029766,000095: 13,2270 00001 RATT 029767,000096: 13,2271 77657 VSR* 029768,000097: 13,2272 57176 0,2 029769,000098: 13,2273 15535 STODL RCV 029770,000099: 13,2274 03442 TIG 029771,000100: 13,2275 01517 STORE TET 029772,000101: 13,2276 71214 CLEAR DLOAD 029773,000102: 13,2277 01673 INTYPFLG 029774,000103: 13,2300 01643 TETTHIS 029775,000104: 13,2301 34041 INTOTHIS STCALL TDEC1 029776,000105: 13,2302 27106 INTEGRVS 029777,000106: 13,2303 77624 CALL 029778,000107: 13,2304 27410 INTSTALL 029779,000108: 13,2305 77775 VLOAD 029780,000109: 13,2306 00017 RATT1 029781,000110: 13,2307 01503 STORE RRECT 029782,000111: 13,2310 15535 STODL RCV 029783,000112: 13,2311 00015 TAT 029784,000113: 13,2312 25517 STOVL TET 029785,000114: 13,2313 00025 VATT1 029786,000115: 13,2314 77624 CALL 029787,000116: # Page 718 029788,000117: 13,2315 27705 MINIRECT 029789,000118: 13,2316 77776 EXIT 029790,000119: 13,2317 05353 TC PHASCHNG 029791,000120: 13,2320 04024 OCT 04024 029792,000121: 029793,000122: 13,2321 06042 TC INTPRET 029794,000123: 13,2322 45014 SET CALL 029795,000124: 13,2323 05070 REINTFLG 029796,000125: 13,2324 26660 ATOPOTH 029797,000126: 13,2325 77624 CALL 029798,000127: 13,2326 27417 INTWAKE0 029799,000128: 13,2327 77414 OUT CLEAR EXIT # ALLOW V37. NO NEED TO CLEAR NODOFLAG AT 029800,000129: 13,2330 01276 NODOFLAG # ENDP76 SINCE FLAG NOT SET WHEN DISPLAY 029801,000130: # RESPONSES TRANSFER THERE FROM P76+. 029802,000131: 13,2331 34755 ENDP76 CAF ZERO 029803,000132: 13,2332 55462 TS MARKCTR # CLEAR RR TRACKING MARK COUNTER 029804,000133: 13,2333 16001 TCF GOTOP00H 029805,000134: 029806,000135: 13,2334 01524 V06N84 NV 0684 029807,000136: 13,2335 01441 NV 0633 029808,000137: 13,2336 43174 P76SUB1 AXT,2 SET 029809,000138: 13,2337 00002 2 029810,000139: 13,2340 00063 MOONFLAG # SET MEANS MOON IS SPHERE OF INFLUENCE. 029811,000140: 13,2341 77014 BON AXT,2 029812,000141: 13,2342 04303 CMOONFLG # SET MEANS PERM CM STATE IN LUNAR SPHERE. 029813,000142: 13,2343 00052 QPRET 029814,000143: 13,2344 00000 0 029815,000144: 13,2345 43414 CLEAR RVQ 029816,000145: 13,2346 00263 MOONFLAG 029817,000146: 029818,000147: 029819,000148: End of include-file P76.agc. Parent file is MAIN.agc