Source Code

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