Source Code
![]() |
These source-code files were transcribed from scans made from Don Eyles's personal
copy of Luminary 069. They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Onno Hommes. The code was transcribed
from these scans by a team of volunteers who are referenced in the program
comments. Comments from the original source code are prefixed with a single '#' symbol,
whereas comments added later are prefixed by "##" or "###". In some cases, where
similar code blocks exist in previously-transcribed AGC programs (primarily
Luminary 99, from Apollo 11) those code blocks were used as a starting point and
then corrected to agree with the Luminary 69 scans. The full scans are available
at the Virtual AGC
project's collection at archive.org, while more-convenient reduced-size (but reduced-quality)
images are available at
the main Virtual AGC website. Report any errors noted by creating an
issue report at the Virtual AGC
project's GitHub repository. Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 069 OF AGC PROGRAM LUMINARY BY NASA 2021112-011 19:02 NOV. 25,1968Note that the date is the date of the printout, not the date of the program revision. |
029047,000002: ## Copyright: Public domain.
029048,000003: ## Filename: GROUND_TRACKING_DETERMINATION_PROGRAM_-_P21.agc
029049,000004: ## Purpose: The main source file for Luminary revision 069.
029050,000005: ## It is part of the source code for the original release
029051,000006: ## of the flight software for the Lunar Module's (LM) Apollo
029052,000007: ## Guidance Computer (AGC) for Apollo 10. The actual flown
029053,000008: ## version was Luminary 69 revision 2, which included a
029054,000009: ## newer lunar gravity model and only affected module 2.
029055,000010: ## This file is intended to be a faithful transcription, except
029056,000011: ## that the code format has been changed to conform to the
029057,000012: ## requirements of the yaYUL assembler rather than the
029058,000013: ## original YUL assembler.
029059,000014: ## Reference: pp. 664-666
029060,000015: ## Assembler: yaYUL
029061,000016: ## Contact: Ron Burkey <info@sandroid.org>.
029062,000017: ## Website: www.ibiblio.org/apollo/index.html
029063,000018: ## Mod history: 2016-12-13 MAS Created from Luminary 99.
029064,000019: ## 2016-12-14 MAS Updated from comment-proofed Luminary 99 version.
029065,000020: ## 2016-12-15 RRB Updated for Luminary 69.
029066,000021: ## 2017-01-28 RSB Proofed comment text using octopus/prooferComments
029067,000022: ## but no errors found.
029068,000023: ## 2017-03-15 RSB Comment-text fixes identified in 5-way
029069,000024: ## side-by-side diff of Luminary 69/99/116/131/210.
029070,000025:
![]() |
Page 664 |
029072,000027: # GROUND TRACKING DETERMINATION PROGRAM P21
029073,000028: # PROGRAM DESCRIPTION
029074,000029: # MOD NO - 1
029075,000030: # MOD BY - N. M. NEVILLE
029076,000031:
029077,000032: # FUNCTIONAL DECRIPTION -
029078,000033:
029079,000034: # TO PROVIDE THE ASTRONAUT DETAILS OF THE LM OR CSM GROUND TRACK WITHOUT
029080,000035: # THE NEED FOR GROUND COMMUNICATION (REQUESTED BY DSKY).
029081,000036: # CALLING SEQUENCE -
029082,000037:
029083,000038: # ASTRONAUT REQUEST THROUGH DSKY V37E21E
029084,000039: # SUBROUTINES CALLED -
029085,000040:
029086,000041: # GOPERF4
029087,000042: # GOFLASH
029088,000043: # THISPREC
029089,000044: # OTHPREC
029090,000045: # LAT-LONG
029091,000046:
029092,000047: # NORMAL EXIT MODES -
029093,000048:
029094,000049: # ASTRONAUT REQUEST TROUGH DSKY TO TERMINATE PROGRAM V34E
029095,000050: # ALARM OR ABORT EXIT MODES -
029096,000051:
029097,000052: # NONE
029098,000053: # OUTPUT -
029099,000054:
029100,000055: # OCTAL DISPLAY OF OPTION CODE AND VEHICLE WHOSE GROUND TRACK IS TO BE
029101,000056: # COMPUTED
029102,000057: # OPTION CODE 00002
029103,000058: # THIS 00001
029104,000059: # OTHER 00002
029105,000060: # DECIMAL DISPLAY OF TIME TO BE INTEGRATED TO HOURS , MINUTES , SECONDS
029106,000061: # DECIMAL DISPLAY OF LAT,LONG,ALT
029107,000062:
029108,000063: # ERASABLE INITIALIZATION REQUIRED
029109,000064:
029110,000065: # AX0 2DEC 4.652459653 E-5 RADIANS %68-69 CONSTANTS"
029111,000066:
029112,000067: # -AY0 2DEC 2.147535898 E-5 RADIANS
029113,000068:
029114,000069: # AZ0 2DEC .7753206164 REVOLUTIONS
029115,000070: # FOR LUNAR ORBITS 504LM VECTOR IS NEEDED
029116,000071:
029117,000072: # 504LM 2DEC -2.700340600 E-5 RADIANS
029118,000073:
029119,000074: # 504LM _2 2DEC -7.514128400 E-4 RADIANS
029120,000075:
029121,000076: # 504LM _4 2DEC _2.553198641 E-4 RADIANS
029122,000077:
029123,000078: # NONE
029124,000079: # DEBRIS
![]() |
Page 665 |
029126,000081:
029127,000082: # CENTRALS-A,Q,L
029128,000083: # OTHER - THOSE USED BY THE ABOVE LISTED SUBROUTINES
029129,000084: # SEE LEMPREC, LAT-LONG
029130,000085:
029131,000086: 35,2511 30,2000 SBANK= LOWSUPER # FOR LOW 2CADR'S.
029132,000087:
029133,000088: 33,2200 BANK 33
029134,000089: 24,2000 SETLOC P20S
029135,000090: 24,2000 BANK
029136,000091:
029137,000092: 24,3402 E7,1756 EBANK= P21TIME
029138,000093: 24,3402 COUNT* $$/P21
029139,000094: 24,3402 34753 PROG21 CAF ONE
029140,000095: 24,3403 55145 TS OPTION2 # ASSUMED VEHICLE IS LM, R2 = 00001
029141,000096: 24,3404 34752 CAF BIT2 # OPTION 2
029142,000097: 24,3405 04616 TC BANKCALL
029143,000098: 24,3406 20506 CADR GOPERF4
029144,000099: 24,3407 06001 TC GOTOPOOH # TERMINATE
029145,000100: 24,3410 03412 TC +2 # PROCEED VALUE OF ASSUMED VEHICLE OK
029146,000101: 24,3411 03404 TC -5 # R2 LOADED THROUGH DSKY
029147,000102: 24,3412 33503 P21PROG1 CAF V6N34 # LOAD DESIRED TIME OF LAT-LONG.
029148,000103: 24,3413 04616 TC BANKCALL
029149,000104: 24,3414 20351 CADR GOFLASH
029150,000105: 24,3415 06001 TC GOTOPOOH # TERM
029151,000106: 24,3416 03420 TC +2 # PROCEED VALUES OK
029152,000107: 24,3417 03412 TC -5 # TIME LOADED THROUGH DSKY
029153,000108: 24,3420 06036 TC INTPRET
029154,000109: 24,3421 77745 DLOAD
029155,000110: 24,3422 01046 DSPTEM1
029156,000111: 24,3423 03757 STORE P21TIME
029157,000112: 24,3424 45335 SLOAD DSU
029158,000113: 24,3425 01146 OPTION2
029159,000114: 24,3426 11501 P21ONENN
029160,000115: 24,3427 71230 BHIZ DLOAD
029161,000116: 24,3430 51443 P21PROG2 # VEHICLE TO BE INTEGRATED IS LEM
029162,000117: 24,3431 03757 P21TIME # VEHICLE TO BE INTEGRATED IS CSM
029163,000118: 24,3432 34041 STCALL TDEC1 # INTEGRATE TO TIME SPECIFIED IN TDEC
029164,000119: 24,3433 27043 OTHPREC # ADJUST UNITS FOR LAT-LONG ROUTINE
029165,000120: 24,3434 46135 P21PROGA SLOAD BHIZ
029166,000121: 24,3435 00050 X2
029167,000122: 24,3436 51451 P21PROG3
029168,000123: 24,3437 43175 VLOAD SETGO
029169,000124: 24,3440 00001 RATT
029170,000125: 24,3441 01423 LUNAFLAG
029171,000126: 24,3442 51454 P21PROG4
029172,000127: 24,3443 77745 P21PROG2 DLOAD
029173,000128: 24,3444 03757 P21TIME
029174,000129: 24,3445 34041 STCALL TDEC1
029175,000130: 24,3446 27057 THISPREC
029176,000131: 24,3447 77650 GOTO
![]() |
Page 666 |
029178,000133: 24,3450 51434 P21PROGA
029179,000134: 24,3451 43175 P21PROG3 VLOAD CLEAR
029180,000135: 24,3452 00001 RATT
029181,000136: 24,3453 01663 LUNAFLAG
029182,000137: 24,3454 16032 P21PROG4 STODL ALPHAV
029183,000138: 24,3455 00015 TAT
029184,000139: 24,3456 45014 CLEAR CALL
029185,000140: 24,3457 00662 ERADFLAG
029186,000141: 24,3460 26351 LAT-LONG
029187,000142: 24,3461 77776 EXIT
029188,000143: 24,3462 33502 CAF V06N43 # DISPLAY LAT,LONG,ALT
029189,000144: 24,3463 04616 TC BANKCALL # LAT,LONG = 1/2 REVS B0
029190,000145: 24,3464 20351 CADR GOFLASH # ALT = KM B14
029191,000146: 24,3465 06001 TC GOTOPOOH # TERM
029192,000147: 24,3466 06001 TC GOTOPOOH
029193,000148: 24,3467 06036 TC INTPRET # V32E RECYCLE
029194,000149: 24,3470 43345 DLOAD DAD
029195,000150: 24,3471 03757 P21TIME
029196,000151: 24,3472 11477 600SEC # 600 SECONDS OR 10 MIN
029197,000152: 24,3473 01046 STORE DSPTEM1
029198,000153: 24,3474 77634 RTB
029199,000154: 24,3475 51412 P21PROG1
029200,000155: 24,3476 00003 25140 600SEC 2DEC 60000 B-28 # 10 MIN
029201,000156:
029202,000157: 24,3500 00001 P21ONENN OCT 00001 # NEEDED TO DETERMINE VEHICLE
029203,000158: 24,3501 00000 OCT 00000 # TO BE INTEGRATED
029204,000159: 24,3502 01453 V06N43 VN 00643
029205,000160: 24,3503 01442 V6N34 VN 00634
029206,000161:
029207,000162:
End of include-file GROUND_TRACKING_DETERMINATION_PROGRAM_-_P21.agc. Parent file is MAIN.agc