Source Code

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