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