Source Code

027574,000001: # Copyright: Public domain. 027575,000002: # Filename: GROUND_TRACKING_DETERMINATION_PROGRAM.agc 027576,000003: # Purpose: A section of Luminary 1C, revision 131. 027577,000004: # It is part of the source code for the Lunar Module's (LM) 027578,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 027579,000006: # This file is intended to be a faithful transcription, except 027580,000007: # that the code format has been changed to conform to the 027581,000008: # requirements of the yaYUL assembler rather than the 027582,000009: # original YUL assembler. 027583,000010: # Reference: pp. 661-664 of 1729.pdf. 027584,000011: # Contact: Ron Burkey <info@sandroid.org>. 027585,000012: # Website: www.ibiblio.org/apollo/index.html 027586,000013: # Mod history: 05/21/03 RSB. Began transcribing. 027587,000014: # 05/14/05 RSB Corrected website reference above. 027588,000015: 027589,000016: # Page 661 027590,000017: # GROUND TRACKING DETERMINATION PROGRAM -- P21 027591,000018: 027592,000019: # PROGRAM DESCRIPTION 027593,000020: # MOD NO -- 1 027594,000021: # MOD BY -- N. M. NEVILLE 027595,000022: 027596,000023: # FUNCTIONAL DESCRIPTION -- 027597,000024: # TO PROVIDE THE ASTRONAUT DETAILS OF THE LM OR CSM GROUND TRACK WITHOUT 027598,000025: # THE NEED FOR GROUND COMMUNICATION (REQUESTED BY DSKY). 027599,000026: 027600,000027: # CALLING SEQUENCE -- 027601,000028: # ASTRONAUT REQUEST THROUGH DSKY V37E21E 027602,000029: 027603,000030: # SUBROUTINES CALLED -- 027604,000031: # GOPERF4 027605,000032: # GOFLASH 027606,000033: # THISPREC 027607,000034: # OTHPREC 027608,000035: # LAT-LONG 027609,000036: 027610,000037: # NORMAL EXIT MODES -- 027611,000038: # ASTRONAUT REQUEST THROUGH DSKY TO TERMINATE PROGRAM V34E 027612,000039: 027613,000040: # ALARM OR ABORT EXIT MODES -- 027614,000041: # NONE 027615,000042: 027616,000043: # OUTPUT -- 027617,000044: # OCTAL DISPLAY OF OPTION CODE AND VEHICLE WHOSE GROUND TRACK IS TO BE 027618,000045: # COMPUTED 027619,000046: # OPTION CODE 00002 027620,000047: # THIS 00001 027621,000048: # OTHER 00002 027622,000049: # DECIMAL DISPLAY OF TIME TO BE INTEGRATED TO HOURS, MINUTES, SECONS 027623,000050: # DECIMAL DISPLAY OF LAT,LONG,ALT 027624,000051: 027625,000052: # ERASABLE INITIALIZATION REQUIRED 027626,000053: # AX0 2DEC 4.652459653 E-5 RADIANS 027627,000054: # -AY0 2DEC 2.137535898 E-5 RADIANS 027628,000055: # AZ0 2DEC .7753206164 REVOLUTIONS 027629,000056: # FOR LUNAR ORBITS 504LM VECTOR IS NEEDED: 027630,000057: # 504LM 2DEC -2.700340600 E-5 RADIANS 027631,000058: # 504LM+2 2DEC -7.514128400 E-4 RADIANS 027632,000059: # 504LM+4 2DEC -2.553198641 E-4 RADIANS 027633,000060: 027634,000061: # DEBRIS 027635,000062: # Page 662 027636,000063: # CENTRALS -- A,C,L 027637,000064: # OTHER -- THOSE USED BY THE ABOVE LISTED SUBROUTINES 027638,000065: # SEE LEMPREC, LAT-LONG 027639,000066: 027640,000067: 35,2455 30,2000 SBANK= LOWSUPER # FOR LOW 2CADR'S. 027641,000068: 027642,000069: 33,2200 BANK 33 027643,000070: 24,2000 SETLOC P20S 027644,000071: 24,2000 BANK 027645,000072: 027646,000073: 24,3506 E7,1762 EBANK= P21TIME 027647,000074: 24,3506 COUNT* $$/P21 027648,000075: 24,3506 34753 PROG21 CAF ONE 027649,000076: 24,3507 55144 TS OPTION2 # ASSUMED VEHICLE IS LM, R2 = 00001 027650,000077: 24,3510 34752 CAF BIT2 # OPTION 2 027651,000078: 24,3511 04616 TC BANKCALL 027652,000079: 24,3512 20634 CADR GOPERF4 027653,000080: 24,3513 06001 TC GOTOP00H # TERMINATE 027654,000081: 24,3514 03516 TC +2 # PROCEED VALUE OF ASSUMED VEHICLE OK 027655,000082: 24,3515 03510 TC -5 # R2 LOADED THROUGH DSKY 027656,000083: 24,3516 34755 CAF ZERO # INITIAL TIME = PRESENT TIME 027657,000084: 24,3517 55044 TS DSPTEM1 027658,000085: 24,3520 55045 TS DSPTEM1 +1 027659,000086: 24,3521 33675 P21PROG1 CAF V6N34 # LOAD DESIRED TIME OF LAT-LONG. 027660,000087: 24,3522 04616 TC BANKCALL 027661,000088: 24,3523 20477 CADR GOFLASH 027662,000089: 24,3524 06001 TC GOTOP00H # TERM 027663,000090: 24,3525 03527 TC +2 # PROCEED VALUES OK 027664,000091: 24,3526 03521 TC -5 # TIME LOADED THROUGH DSKY 027665,000092: 24,3527 06042 TC INTPRET 027666,000093: 24,3530 53145 DLOAD BZE 027667,000094: 24,3531 01045 DSPTEM1 027668,000095: 24,3532 51667 P21PRTM 027669,000096: 24,3533 34041 P21PROG2 STCALL TDEC1 # INTEG TO TIME SPECIFIED IN TDEC1 027670,000097: 24,3534 27410 INTSTALL 027671,000098: 24,3535 43014 BON CLEAR 027672,000099: 24,3536 00304 P21FLAG 027673,000100: 24,3537 51555 P21CONT # ON -- RECYCLE USING BASE VECTOR 027674,000101: 24,3540 01674 VINTFLAG # OFF -- 1ST PASS CALL BASE VECTOR 027675,000102: 24,3541 70535 SLOAD SR1 027676,000103: 24,3542 01145 OPTION2 027677,000104: 24,3543 43030 BHIZ SET 027678,000105: 24,3544 51546 +2 # ZERO -- THIS VEHICLE (LM) 027679,000106: 24,3545 01474 VINTFLAG # ONE -- OTHER VEHICLE (CM) 027680,000107: 24,3546 43014 CLEAR CLEAR 027681,000108: 24,3547 01676 DIM0FLAG 027682,000109: 24,3550 01673 INTYPFLG # PRECISION 027683,000110: 24,3551 77624 CALL 027684,000111: 24,3552 27133 INTEGRV # CALCULATE 027685,000112: 24,3553 77650 GOTO # AND 027686,000113: # Page 663 027687,000114: 24,3554 51576 P21VSAVE # SAVE BASE VECTOR 027688,000115: 24,3555 77775 P21CONT VLOAD 027689,000116: 24,3556 03676 P21BASER # RECYCLE -- INTEG FROM BASE VECTOR 027690,000117: 24,3557 25535 STOVL RCV # --POS 027691,000118: 24,3560 03704 P21BASEV 027692,000119: 24,3561 15543 STODL VCV # --VEL 027693,000120: 24,3562 03763 P21TIME 027694,000121: 24,3563 01517 STORE TET # --TIME 027695,000122: 24,3564 43014 CLEAR CLEAR 027696,000123: 24,3565 01676 DIM0FLAG 027697,000124: 24,3566 00263 MOONFLAG 027698,000125: 24,3567 53135 SLOAD BZE 027699,000126: 24,3570 01163 P21ORIG 027700,000127: 24,3571 51574 +3 # ZERO = EARTH 027701,000128: 24,3572 77614 SET # 2 = MOON 027702,000129: 24,3573 00063 MOONFLAG 027703,000130: 24,3574 77624 +3 CALL 027704,000131: 24,3575 27106 INTEGRVS 027705,000132: 24,3576 77745 P21VSAVE DLOAD # SAVE CURRENT BASE VECTOR 027706,000133: 24,3577 00015 TAT 027707,000134: 24,3600 27763 STOVL P21TIME # --TIME 027708,000135: 24,3601 00017 RATT1 027709,000136: 24,3602 27676 STOVL P21BASER # --POS B-29 OR B-27 027710,000137: 24,3603 00025 VATT1 027711,000138: 24,3604 03704 STORE P21BASEV # --VEL B-07 OR B-05 027712,000139: 24,3605 53646 ABVAL SL* 027713,000140: 24,3606 57576 0,2 027714,000141: 24,3607 27712 STOVL P21VEL # VEL/ FOR N91 DISP 027715,000142: 24,3610 00001 RATT 027716,000143: 24,3611 50256 UNIT DOT 027717,000144: 24,3612 00007 VATT # U(R).V 027718,000145: 24,3613 67471 DDV ASIN # U(R).U(V) 027719,000146: 24,3614 03712 P21VEL 027720,000147: 24,3615 03714 STORE P21GAM # SIN-1 U(R).U(V) , -90 TO +90 027721,000148: 24,3616 67334 SXA,2 SLOAD 027722,000149: 24,3617 01162 P21ORIG # 0 = EARTH 027723,000150: 24,3620 01145 OPTION2 027724,000151: 24,3621 46142 SR1 BHIZ 027725,000152: 24,3622 51625 +3 027726,000153: 24,3623 77650 GOTO 027727,000154: 24,3624 51630 +4 027728,000155: 24,3625 77614 +3 BON 027729,000156: 24,3626 04307 SURFFLAG 027730,000157: 24,3627 51632 P21DSP 027731,000158: 24,3630 77614 +4 SET 027732,000159: 24,3631 00064 P21FLAG 027733,000160: 24,3632 67214 P21DSP CLEAR SLOAD # GENERATE DISPLAY DATA 027734,000161: 24,3633 01663 LUNAFLAG 027735,000162: 24,3634 00050 X2 027736,000163: 24,3635 43054 BZE SET 027737,000164: # Page 664 027738,000165: 24,3636 51640 +2 # 0 = EARTH 027739,000166: 24,3637 01463 LUNAFLAG 027740,000167: 24,3640 77775 VLOAD 027741,000168: 24,3641 00001 RATT 027742,000169: 24,3642 16032 STODL ALPHAV 027743,000170: 24,3643 00015 TAT 027744,000171: 24,3644 45014 CLEAR CALL 027745,000172: 24,3645 00662 ERADFLAG 027746,000173: 24,3646 26347 LAT-LONG 027747,000174: 24,3647 77605 DMP # MPAC = ALT, METERS B-29 027748,000175: 24,3650 11677 K.01 027749,000176: 24,3651 03716 STORE P21ALT # ALT/100 FOR N91 DISP 027750,000177: 24,3652 77776 EXIT 027751,000178: 24,3653 33674 CAF V06N43 # DISPLAY LAT, LONG, ALT 027752,000179: 24,3654 04616 TC BANKCALL # LAT, LONG = 1/2 REVS B0 027753,000180: 24,3655 20477 CADR GOFLASH # ALT = KM B14 027754,000181: 24,3656 06001 TC GOTOP00H # TERM 027755,000182: 24,3657 06001 TC GOTOP00H 027756,000183: 24,3660 06042 TC INTPRET # V32E RECYCLE 027757,000184: 24,3661 43345 DLOAD DAD 027758,000185: 24,3662 03763 P21TIME 027759,000186: 24,3663 11673 600SEC # 600 SECONDS OR 10 MIN 027760,000187: 24,3664 01045 STORE DSPTEM1 027761,000188: 24,3665 77634 RTB 027762,000189: 24,3666 51521 P21PROG1 027763,000190: 24,3667 52034 P21PRTM RTB GOTO 027764,000191: 24,3670 21574 LOADTIME 027765,000192: 24,3671 51533 P21PROG2 027766,000193: 24,3672 00003 25140 600SEC 2DEC 60000 B-28 # 10 MIN 027767,000194: 027768,000195: 24,3674 01453 V06N43 VN 00643 027769,000196: 24,3675 01442 V6N34 VN 00634 027770,000197: 24,3676 00243 32703 K.01 2DEC .01 027771,000198: End of include-file GROUND_TRACKING_DETERMINATION_PROGRAM.agc. Parent file is MAIN.agc