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