Source Code

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