Source Code

028027,000001: # Copyright: Public domain. 028028,000002: # Filename: GROUND_TRACKING_DETERMINATION_PROGRAM.agc 028029,000003: # Purpose: Part of the source code for Luminary 1A build 099. 028030,000004: # It is part of the source code for the Lunar Module's (LM) 028031,000005: # Apollo Guidance Computer (AGC), for Apollo 11. 028032,000006: # Assembler: yaYUL 028033,000007: # Contact: Ron Burkey <info@sandroid.org>. 028034,000008: # Website: www.ibiblio.org/apollo. 028035,000009: # Pages: 654-657 028036,000010: # Mod history: 2009-05-18 RSB Adapted from the corresponding 028037,000011: # Luminary131 file, using page 028038,000012: # images from Luminary 1A. 028039,000013: 028040,000014: # This source code has been transcribed or otherwise adapted from 028041,000015: # digitized images of a hardcopy from the MIT Museum. The digitization 028042,000016: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of 028043,000017: # the Museum. Many thanks to both. The images (with suitable reduction 028044,000018: # in storage size and consequent reduction in image quality as well) are 028045,000019: # available online at www.ibiblio.org/apollo. If for some reason you 028046,000020: # find that the images are illegible, contact me at info@sandroid.org 028047,000021: # about getting access to the (much) higher-quality images which Paul 028048,000022: # actually created. 028049,000023: 028050,000024: # Notations on the hardcopy document read, in part: 028051,000025: 028052,000026: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 028053,000027: # 16:27 JULY 14, 1969 028054,000028: 028055,000029: # Page 654 028056,000030: # GROUND TRACKING DETERMINATION PROGRAM -- P21 028057,000031: # PROGRAM DESCRIPTION 028058,000032: # MOD NO -- 1 028059,000033: # MOD BY -- N. M. NEVILLE 028060,000034: 028061,000035: # FUNCTIONAL DESCRIPTION -- 028062,000036: # TO PROVIDE THE ASTRONAUT DETAILS OF THE LM OR CSM GROUND TRACK WITHOUT 028063,000037: # THE NEED FOR GROUND COMMUNICATION (REQUESTED BY DSKY). 028064,000038: 028065,000039: # CALLING SEQUENCE -- 028066,000040: # ASTRONAUT REQUEST THROUGH DSKY V37E21E 028067,000041: 028068,000042: # SUBROUTINES CALLED -- 028069,000043: # GOPERF4 028070,000044: # GOFLASH 028071,000045: # THISPREC 028072,000046: # OTHPREC 028073,000047: # LAT-LONG 028074,000048: 028075,000049: # NORMAL EXIT MODES -- 028076,000050: # ASTRONAUT REQUEST THROUGH DSKY TO TERMINATE PROGRAM V34E 028077,000051: 028078,000052: # ALARM OR ABORT EXIT MODES -- 028079,000053: # NONE 028080,000054: 028081,000055: # OUTPUT -- 028082,000056: # OCTAL DISPLAY OF OPTION CODE AND VEHICLE WHOSE GROUND TRACK IS TO BE 028083,000057: # COMPUTED 028084,000058: # OPTION CODE 00002 028085,000059: # THIS 00001 028086,000060: # OTHER 00002 028087,000061: # DECIMAL DISPLAY OF TIME TO BE INTEGRATED TO HOURS, MINUTES, SECONDS 028088,000062: # DECIMAL DISPLAY OF LAT,LONG,ALT 028089,000063: 028090,000064: # ERASABLE INITIALIZATION REQUIRED 028091,000065: # AX0 2DEC 4.652459653 E-5 RADIANS $68-69 CONSTANTS* 028092,000066: # -AY0 2DEC 2.137535898 E-5 RADIANS 028093,000067: # AZ0 2DEC .7753206164 REVOLUTIONS 028094,000068: # FOR LUNAR ORBITS 504LM VECTOR IS NEEDED: 028095,000069: # 504LM 2DEC -2.700340600 E-5 RADIANS 028096,000070: # 504LM _2 2DEC -7.514128400 E-4 RADIANS 028097,000071: # 504LM _4 2DEC _2.553198641 E-4 RADIANS 028098,000072: 028099,000073: # NONE 028100,000074: 028101,000075: # DEBRIS 028102,000076: # Page 655 028103,000077: # CENTRALS -- A,Q,L 028104,000078: # OTHER -- THOSE USED BY THE ABOVE LISTED SUBROUTINES 028105,000079: # SEE LEMPREC, LAT-LONG 028106,000080: 028107,000081: 35,2545 30,2000 SBANK= LOWSUPER # FOR LOW 2CADR'S. 028108,000082: 028109,000083: 33,2200 BANK 33 028110,000084: 24,2000 SETLOC P20S 028111,000085: 24,2000 BANK 028112,000086: 028113,000087: 24,3505 E7,1762 EBANK= P21TIME 028114,000088: 24,3505 COUNT* $$/P21 028115,000089: 24,3505 34753 PROG21 CAF ONE 028116,000090: 24,3506 55145 TS OPTION2 # ASSUMED VEHICLE IS LM, R2 = 00001 028117,000091: 24,3507 34752 CAF BIT2 # OPTION 2 028118,000092: 24,3510 04616 TC BANKCALL 028119,000093: 24,3511 20633 CADR GOPERF4 028120,000094: 24,3512 06001 TC GOTOP00H # TERMINATE 028121,000095: 24,3513 03515 TC +2 # PROCEED VALUE OF ASSUMED VEHICLE OK 028122,000096: 24,3514 03507 TC -5 # R2 LOADED THROUGH DSKY 028123,000097: 24,3515 33665 P21PROG1 CAF V6N34 # LOAD DESIRED TIME OF LAT-LONG. 028124,000098: 24,3516 04616 TC BANKCALL 028125,000099: 24,3517 20476 CADR GOFLASH 028126,000100: 24,3520 06001 TC GOTOP00H # TERM 028127,000101: 24,3521 03523 TC +2 # PROCEED VALUES OK 028128,000102: 24,3522 03515 TC -5 # TIME LOADED THROUGH DSKY 028129,000103: 24,3523 06037 TC INTPRET 028130,000104: 24,3524 77745 DLOAD 028131,000105: 24,3525 01046 DSPTEM1 028132,000106: 24,3526 34041 STCALL TDEC1 # INTEG TO TIME SPECIFIED IN TDEC 028133,000107: 24,3527 27414 INTSTALL 028134,000108: 24,3530 43014 BON CLEAR 028135,000109: 24,3531 00304 P21FLAG 028136,000110: 24,3532 51550 P21CONT # ON -- RECYCLE USING BASE VECTOR 028137,000111: 24,3533 01674 VINTFLAG # OFF -- 1ST PASS CALL BASE VECTOR 028138,000112: 24,3534 70535 SLOAD SR1 028139,000113: 24,3535 01146 OPTION2 028140,000114: 24,3536 43030 BHIZ SET 028141,000115: 24,3537 51541 +2 # ZERO -- THIS VEHICLE (LM) 028142,000116: 24,3540 01474 VINTFLAG # ONE -- OTHER VEHICLE (CM) 028143,000117: 24,3541 43014 CLEAR CLEAR 028144,000118: 24,3542 01676 DIM0FLAG 028145,000119: 24,3543 01673 INTYPFLG # PRECISION 028146,000120: 24,3544 77624 CALL 028147,000121: 24,3545 27134 INTEGRV # CALCULATE 028148,000122: 24,3546 77650 GOTO # AND 028149,000123: 24,3547 51571 P21VSAVE # SAVE BASE VECTOR 028150,000124: 24,3550 77775 P21CONT VLOAD 028151,000125: 24,3551 03676 P21BASER # RECYCLE -- INTEG FROM BASE VECTOR 028152,000126: 24,3552 25535 STOVL RCV # --POS 028153,000127: # Page 656 028154,000128: 24,3553 03704 P21BASEV 028155,000129: 24,3554 15543 STODL VCV # --VEL 028156,000130: 24,3555 03763 P21TIME 028157,000131: 24,3556 01517 STORE TET # --TIME 028158,000132: 24,3557 43014 CLEAR CLEAR 028159,000133: 24,3560 01676 DIM0FLAG 028160,000134: 24,3561 00263 MOONFLAG 028161,000135: 24,3562 53135 SLOAD BZE 028162,000136: 24,3563 01164 P21ORIG 028163,000137: 24,3564 51567 +3 # ZERO = EARTH 028164,000138: 24,3565 77614 SET # ---2 = MOON 028165,000139: 24,3566 00063 MOONFLAG 028166,000140: 24,3567 77624 +3 CALL 028167,000141: 24,3570 27107 INTEGRVS 028168,000142: 24,3571 77745 P21VSAVE DLOAD # SAVE CURRENT BASE VECTOR 028169,000143: 24,3572 00015 TAT 028170,000144: 24,3573 27763 STOVL P21TIME # --TIME 028171,000145: 24,3574 00017 RATT1 028172,000146: 24,3575 27676 STOVL P21BASER # --POS B-29 OR B-27 028173,000147: 24,3576 00025 VATT1 028174,000148: 24,3577 03704 STORE P21BASEV # --VEL B-07 OR B-05 028175,000149: 24,3600 53646 ABVAL SL* 028176,000150: 24,3601 57576 0,2 028177,000151: 24,3602 27712 STOVL P21VEL # VEL/ FOR N91 DISP 028178,000152: 24,3603 00001 RATT 028179,000153: 24,3604 50256 UNIT DOT 028180,000154: 24,3605 00007 VATT # U(R).V 028181,000155: 24,3606 67471 DDV ASIN # U(R).U(V) 028182,000156: 24,3607 03712 P21VEL 028183,000157: 24,3610 03714 STORE P21GAM # SIN-1 U(R).U(V) , -90 TO +90 028184,000158: 24,3611 67334 SXA,2 SLOAD 028185,000159: 24,3612 01163 P21ORIG # 0 = EARTH 028186,000160: 24,3613 01146 OPTION2 028187,000161: 24,3614 46142 SR1 BHIZ 028188,000162: 24,3615 51620 +3 028189,000163: 24,3616 77650 GOTO 028190,000164: 24,3617 51623 +4 028191,000165: 24,3620 77614 +3 BON 028192,000166: 24,3621 04307 SURFFLAG 028193,000167: 24,3622 51625 P21DSP 028194,000168: 24,3623 77614 +4 SET 028195,000169: 24,3624 00064 P21FLAG 028196,000170: 24,3625 67214 P21DSP CLEAR SLOAD # GENERATE DISPLAY DATA 028197,000171: 24,3626 01663 LUNAFLAG 028198,000172: 24,3627 00050 X2 028199,000173: 24,3630 43054 BZE SET 028200,000174: 24,3631 51633 +2 # 0 = EARTH 028201,000175: 24,3632 01463 LUNAFLAG 028202,000176: 24,3633 77775 VLOAD 028203,000177: 24,3634 00001 RATT 028204,000178: # Page 657 028205,000179: 24,3635 16032 STODL ALPHAV 028206,000180: 24,3636 00015 TAT 028207,000181: 24,3637 45014 CLEAR CALL 028208,000182: 24,3640 00662 ERADFLAG 028209,000183: 24,3641 26351 LAT-LONG 028210,000184: 24,3642 77605 DMP # MPAC = ALT, METERS B-29 028211,000185: 24,3643 11667 K.01 028212,000186: 24,3644 03716 STORE P21ALT # ALT/100 FOR N91 DISP 028213,000187: 24,3645 77776 EXIT 028214,000188: 24,3646 33664 CAF V06N43 # DISPLAY LAT, LONG, ALT 028215,000189: 24,3647 04616 TC BANKCALL # LAT, LONG = 1/2 REVS B0 028216,000190: 24,3650 20476 CADR GOFLASH # ALT = KM B14 028217,000191: 24,3651 06001 TC GOTOP00H # TERM 028218,000192: 24,3652 06001 TC GOTOP00H 028219,000193: 24,3653 06037 TC INTPRET # V32E RECYCLE 028220,000194: 24,3654 43345 DLOAD DAD 028221,000195: 24,3655 03763 P21TIME 028222,000196: 24,3656 11663 600SEC # 600 SECONDS OR 10 MIN 028223,000197: 24,3657 01046 STORE DSPTEM1 028224,000198: 24,3660 77634 RTB 028225,000199: 24,3661 51515 P21PROG1 028226,000200: 24,3662 00003 25140 600SEC 2DEC 60000 B-28 # 10 MIN 028227,000201: 028228,000202: 24,3664 01453 V06N43 VN 00643 028229,000203: 24,3665 01442 V6N34 VN 00634 028230,000204: 24,3666 00243 32703 K.01 2DEC .01 028231,000205: End of include-file GROUND_TRACKING_DETERMINATION_PROGRAM.agc. Parent file is MAIN.agc