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