Source Code
![]() |
These source-code files are part of a reconstructed copy of Luminary 69/2,
the flown, final release of the Apollo 10 Lunar Module (LM) Apollo Guidance Computer (AGC) software.
The reconstruction is based on the source code of Luminary 69 — i.e., the initial, unflown version, "revision 0" — of which a contemporary listing was available. The code was then updated by incorporating the differences between Luminary 69 and Luminary 69/2, known from other contemporary documentation. The only such difference is the implementation in Luminary 69/2 of the "R-2 Lunar Potential Model", the source code for which was taken from program Luminary 99/1 (Apollo 11 LM), of which a contemporary listing was also available. Finally, the now-reconstructed Luminary 69/2 was then validated by assembling it to executable form and verifying that its memory banks had the correct checksums, known from still other contemporary documentation. Note that page numbers in the reconstructed code match those in the original Luminary 69 program listing, or in the ORBITAL INTEGRATION log section, in Luminary 99/1. Page numbers would certainly differ somewhat in a contemporary Luminary 69/2 listing. Moreover, annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change in Luminary 69/2 relative to Luminary 69. Here's a guide to the Apollo documentation referenced in those annotations:
|
031212,000002: ## Copyright: Public domain. 031213,000003: ## Filename: R30.agc 031214,000004: ## Purpose: A section of LUM69 revision 2. 031215,000005: ## It is part of the reconstructed source code for the flown 031216,000006: ## version of the flight software for the Lunar Module's (LM) 031217,000007: ## Apollo Guidance Computer (AGC) for Apollo 10. The code has 031218,000008: ## been recreated from a copy of Luminary revsion 069, using 031219,000009: ## changes present in Luminary 099 which were described in 031220,000010: ## Luminary memos 75 and 78. The code has been adapted such 031221,000011: ## that the resulting bugger words exactly match those specified 031222,000012: ## for LUM69 revision 2 in NASA drawing 2021152B, which gives 031223,000013: ## relatively high confidence that the reconstruction is correct. 031224,000014: ## Reference: pp. 720-730 031225,000015: ## Assembler: yaYUL 031226,000016: ## Contact: Ron Burkey <info@sandroid.org>. 031227,000017: ## Website: www.ibiblio.org/apollo/index.html 031228,000018: ## Mod history: 2019-07-27 MAS Created from Luminary 69. 031229,000019: ## 2021-05-30 ABS TICKTIFF -> TICKTFF 031230,000020:
![]() |
Page 720 |
031232,000022: # SUBROUTINE NAME: V82CALL 031233,000023: # MOD NO: 0 DATE: 16 FEB 67 031234,000024: # MOD BY: RR BAIRNSFATHER LOG SECTION: R30 031235,000025: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN 031236,000026: # MOD NO: 2 MOD BY ALONSO DATE: 11 DEC 67 VB82 PROGRAM REWRITTEN 031237,000027: # MOD NO: 3 MOD BY ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE 031238,000028: 031239,000029: # NEW FUNCTIONAL DESCRIPTION: CALLED BY VERB 82 ENTER. PRIORITY 10 031240,000030: # USED THROUGHOUT. CALCULATE AND DISPLAY ORBITAL PARAMETERS 031241,000031: 031242,000032: # 1. IF AVERAGE G IS OFF: 031243,000033: # FLASH DISPLAY V04N06. R2 INDICATES WHICH SHIP'S STATE VECTOR IS 031244,000034: # TO BE UPDATED. INITIAL CHOICE IS THIS SHIP (R2=1). ASTRONAUT 031245,000035: # CAN CHANGE TO OTHER SHIP BY V22EXE, WHERE X NOT EQ 1. 031246,000036: # SELECTED STATE VECTOR UPDATED BY THISPREC (OTHPREC). 031247,000037: # CALLS SR30.1 (WHICH CALLS TFFCONMU + TFFRP/RA) TO CALCULATE 031248,000038: # RPER (PERIGEE RADIUS), RAPO (APOGEE RADIUS), HPER (PERIGEE 031249,000039: # HEIGHT ABOVE LAUNCH PAD OR LUNAR LANDING SITE), HAPO (APOGEE 031250,000040: # HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), TFF (TIME TO 031251,000041: # INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE). 031252,000042: # FLASH MONITOR V16N44 (HAPO, HPER, TFF). TFF IS -59M59S IF IT WAS 031253,000043: # NOT COMPUTABLE, OTHERWISE IT INCREMENTS ONCE PER SECOND. 031254,000044: # ASTRONAUT HAS OPTION TO MONITOR TPER BY KEYING IN N 32 E. 031255,000045: # DISPLAY IS IN HMS, IS NEGATIVE (AS WAS TFF), AND INCREMENTS 031256,000046: # ONCE PER SECOND ONLY IF TFF DISPLAY WAS -59M59S. 031257,000047: # 2. IF AVERAGE G IS ON: 031258,000048: # CALLS SR30.1 APPROX EVERY TWO SECS. STATE VECTOR IS ALWAYS 031259,000049: # FOR THIS VEHICLE. V82 DOES NOT DISTURB STATE VECTOR. RESULTS 031260,000050: # OF SR30.1 ARE RAPO, RPER, HAPO, HPER, TPER, TFF. 031261,000051: # FLASH MONITOR V16N44 (HAPO, HPER, TFF). 031262,000052: # ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE 031263,000053: # ABOVE REMARKS. 031264,000054: 031265,000055: # CALLING SEQUENCE: VERB 82 ENTER. 031266,000056: 031267,000057: # SUBROUTINES CALLED: SR30.1, GOXDSPF 031268,000058: # MAYBE - THISPREC, OTHPREC, LOADTIME, DELRSPL 031269,000059: 031270,000060: # NORMAL EXIT MODES: TC ENDEXT 031271,000061: 031272,000062: # ALARMS: NONE 031273,000063: 031274,000064: # OUTPUT: HAPOX (-29) M 031275,000065: # HPERX (-29) M 031276,000066: # RAPO (-29) M EARTH 031277,000067: # (-27) M MOON 031278,000068: # RPER (-29) M EARTH 031279,000069: # (-27) M MOON 031280,000070: # TFF (-28) CS CONTAINS NEGATIVE QUANTITY 031281,000071: # -TPER (-28) CS CONTAINS NEGATIVE QUANTITY 031282,000072:
![]() |
Page 721 |
031284,000074: # ERASABLE INITIALIZATION REQUIRED: STATE VECTOR. 031285,000075: 031286,000076: # DEBRIS: QPRET, RONE, VONE, TFF/RTMU, HPERMIN, RPADTEM, V82EMFLG. 031287,000077: # MAYBE: TSTART82, V82FLAGS, TDEC1. 031288,000078: 031289,000079: 13,2351 E4,1517 EBANK= HAPOX 031290,000080: 31,2172 BANK 31 031291,000081: 22,2000 SETLOC R30LOC 031292,000082: 22,2000 BANK 031293,000083: 22,3242 COUNT* $$/R30 031294,000084: 031295,000085: 22,3242 06036 V82CALL TC INTPRET 031296,000086: 22,3243 52014 BON GOTO 031297,000087: 22,3244 03712 AVEGFLAG 031298,000088: 22,3245 45465 V82GON # IF AVERAGE G ON 031299,000089: 22,3246 45247 V82GOFF # IF AVERAGE G OFF 031300,000090: 031301,000091: 22,3247 77776 V82GOFF EXIT # ALLOW ASTRONAUT TO SELECT VEHICLE 031302,000092: 22,3250 34752 CAF TWO # DESIRED FOR ORBITAL PARAMETERS 031303,000093: 22,3251 55051 TS OPTIONX # CALCULATION AND DISPLAY. 031304,000094: 22,3252 34753 CAF ONE 031305,000095: 22,3253 55052 TS OPTIONX +1 031306,000096: 22,3254 33316 CAF OPTIONVN # V 04 N 06 031307,000097: 22,3255 04616 TC BANKCALL 031308,000098: 22,3256 20212 CADR GOXDSPF 031309,000099: 22,3257 05472 TC ENDEXT # TERMINATE 031310,000100: 22,3260 03262 TC +2 # PROCEED 031311,000101: 22,3261 03254 TC -5 # DATA IN. OPTION1+1 = 1 FOR THIS VEHICLE. 031312,000102: # UNEQ 1 FOR OTHER VEHICLE. 031313,000103: 22,3262 34750 CAF BIT4 # 80 MS 031314,000104: 22,3263 05203 TC WAITLIST 031315,000105: 22,3264 E4,1540 EBANK= TFF 031316,000106: 22,3264 03430 44064 2CADR TICKTEST 031317,000107: 031318,000108: 22,3266 00003 RELINT 031319,000109: 22,3267 33320 V82GOFLP CAF TFFBANK # MAJOR RECYCLE LOOP ENTRY 031320,000110: 22,3270 54003 TS EBANK 031321,000111: 22,3271 34755 CAF ZERO 031322,000112: 22,3272 55537 TS V82FLAGS # ZERO FLAGS FOR TICKTEST. INHIBITS 031323,000113: # DECREMENTING OF TFF AND -TPER. 031324,000114: 22,3273 35021 CAF PRIO7 031325,000115: 22,3274 05105 TC FINDVAC # V82GOFF1 WILL EXECUTE STATE VECTOR 031326,000116: 22,3275 E4,1540 EBANK= TFF # UPDATE AND ORBIT CALCULATIONS FOR 031327,000117: 22,3275 03321 44064 2CADR V82GOFF1 # SELECTED VEHICLE ABOUT PROPER BODY. 031328,000118: 031329,000119: 22,3277 00003 RELINT 031330,000120: 22,3300 36244 V82STALL CAF THREE # STALL IN THIS LOOP AND WITHOLD V 16 N 44
![]() |
Page 722 |
031332,000122: 22,3301 71537 MASK V82FLAGS # UNTIL STATE VECTOR UPDATE SETS ONE OF 031333,000123: 22,3302 10000 CCS A # OUR FLAG BITS. 031334,000124: 22,3303 03310 TC FLAGGON # EXIT FROM STALL LOOP. 031335,000125: 22,3304 34777 CAF 1SEC 031336,000126: 22,3305 04616 TC BANKCALL 031337,000127: 22,3306 01735 CADR DELAYJOB 031338,000128: 22,3307 03300 TC V82STALL 031339,000129: 031340,000130: 22,3310 33317 FLAGGON CAF V16N44 # MONITOR HAPO,HPER,TFF. 031341,000131: 22,3311 04616 TC BANKCALL 031342,000132: 22,3312 20212 CADR GOXDSPF 031343,000133: 22,3313 05563 TC B5OFF # TERM THIS TELLS TICKTEST TO KILL ITSELF 031344,000134: 22,3314 05563 TC B5OFF # PROCEED DITTO 031345,000135: 22,3315 03267 TC V82GOFLP # RECYCLE RECOMPUTE STATE VECT + DISPLAY 031346,000136: 031347,000137: 22,3316 01014 OPTIONVN VN 412 031348,000138: 22,3317 04054 V16N44 VN 1644 031349,000139: 22,3320 02140 TFFBANK ECADR TFF 031350,000140: 031351,000141: 22,3321 06036 V82GOFF1 TC INTPRET 031352,000142: 22,3322 77634 RTB 031353,000143: 22,3323 21462 LOADTIME 031354,000144: 22,3324 00041 STORE TDEC1 # TIME FOR STATE VECTOR UPDATE. 031355,000145: 22,3325 02211 STORE TSTART82 # TIME FOR INTERNAL USE. 031356,000146: 22,3326 77776 EXIT 031357,000147: 22,3327 41052 CS OPTIONX +1 # 1 FOR THIS VEHICLE, NOT 1 FOR OTHER. 031358,000148: 22,3330 64753 AD ONE 031359,000149: 22,3331 00006 EXTEND 031360,000150: 22,3332 13356 BZF THISSHIP 031361,000151: 22,3333 06036 OTHSHIP TC INTPRET 031362,000152: 22,3334 77624 CALL # CALL STATE VECTOR UPDATE FOR OTHER SHIP. 031363,000153: 22,3335 27043 OTHPREC 031364,000154: 22,3336 77775 BOTHSHIP VLOAD # MOVE RESULTS INTO TFFCONIC STORAGE AREAS 031365,000155: 22,3337 00001 RATT # TO BE CALLED BY SR30.1. 031366,000156: 22,3340 26213 STOVL RONE # RATT AT (-29)M FOR EARTH OR MOON 031367,000157: 22,3341 00007 VATT 031368,000158: 22,3342 02221 STORE VONE # VATT AT (-7)M/CS FOR EARTH OR MOON 031369,000159: 22,3343 77743 DLOAD* 031370,000160: 22,3344 73774 1/RTMUE,2 # X2 IS 0 FOR EARTH CENTERED STATE VEC 031371,000161: 22,3345 00037 STORE TFF/RTMU # X2 IS 2 FOR MOON 031372,000162: 22,3346 77743 DLOAD* # AS LEFT BY THISPREC OR OTHPREC. 031373,000163: 22,3347 72411 MINPERE,2 031374,000164: 22,3350 02205 STORE HPERMIN # TFFRTMU, HPERMIN AND RPADTEM ARE ALL 031375,000165: 22,3351 46135 SLOAD BHIZ # EARTH/MOON PARAMETERS AS SET HERE. 031376,000166: 22,3352 00050 X2 031377,000167: 22,3353 45367 EARTHPAD 031378,000168: 22,3354 77650 GOTO 031379,000169: 22,3355 45373 MOONPAD
![]() |
Page 723 |
031381,000171: 22,3356 06036 THISSHIP TC INTPRET 031382,000172: 22,3357 77624 CALL # CALL STATE VECTOR UPDATE FOR THIS SHIP. 031383,000173: 22,3360 27057 THISPREC 031384,000174: 22,3361 77650 GOTO 031385,000175: 22,3362 45336 BOTHSHIP 031386,000176: 031387,000177: # THE FOLLOWING CONSTANTS ARE PAIRWISE INDEXED. DO NOT SEPARATE PAIRS. 031388,000178: 031389,000179: 22,3363 00001 11530 MINPERM 2DEC 10668 B-27 # 35 KFT MIN PERIGEE HEIGHT FOR MOON(-27)M 031390,000180: 031391,000181: 22,3365 00002 31230 MINPERE 2DEC 91440 B-29 # 300 KFT (-29)M FOR EARTH 031392,000182: 031393,000183: 22,3367 43145 EARTHPAD DLOAD CLRGO # PAD 37-B RADIUS. SCALED AT (-29)M. 031394,000184: 22,3370 06276 RPAD 031395,000185: 22,3371 03635 V82EMFLG # INDICATE EARTH SCALING FOR SR30.1 031396,000186: 22,3372 45377 BOTHPAD 031397,000187: 031398,000188: 22,3373 51575 MOONPAD VLOAD ABVAL # COMPUTE MOON PAD RADIUS FROM RLS VECTOR. 031399,000189: 22,3374 02023 RLS # SCALED AT (-27)M. 031400,000190: 22,3375 77614 SET 031401,000191: 22,3376 03475 V82EMFLG # INDICATE MOON SCALING FOR SR30.1 031402,000192: 22,3377 36207 BOTHPAD STCALL RPADTEM 031403,000193: 22,3400 45551 SR30.1 # CALCULATE ORBITAL PARAMETERS 031404,000194: 22,3401 45234 RTB DSU 031405,000195: 22,3402 21462 LOADTIME 031406,000196: 22,3403 02211 TSTART82 # PRESENT TIME - TIME V82GOFF1 BEGAN 031407,000197: 22,3404 02211 STORE TSTART82 # SAVE IT 031408,000198: 22,3405 53145 DLOAD BZE # SR30.1 SETS -TPER=0 IF HPER L/ 031409,000199: 22,3406 02143 -TPER # HPERMIN (300 OR 35) KFT. 031410,000200: 22,3407 45420 TICKTFF # (-TPER = 0) 031411,000201: 22,3410 43345 TICKTPER DLOAD DAD # (-TPER NON ZERO) TFF WAS NOT COMPUTED, 031412,000202: 22,3411 02143 -TPER # BUT WAS SET TO 59M59S. DONT TICK TFF, DO 031413,000203: 22,3412 02211 TSTART82 # TICK -TPER. DISPLAY BOTH. 031414,000204: 22,3413 02143 STORE -TPER # -TPER CORRECTED FOR TIME SINCE V82GOFF1 031415,000205: 22,3414 77776 EXIT # BEGAN. 031416,000206: 22,3415 34753 CAF BIT1 031417,000207: 22,3416 55537 TS V82FLAGS # INFORMS TICKTEST TO INCREMENT ONLY -TPER 031418,000208: 22,3417 05155 TC ENDOFJOB 031419,000209: 031420,000210: 22,3420 43345 TICKTFF DLOAD DAD # (-TPER=0) TFF WAS COMPUTED. TICK TFF. 031421,000211: 22,3421 02141 TFF # DO NOT TICK -TPER. DISPLAY TFF, BUT NOT 031422,000212: 22,3422 02211 TSTART82 # -TPER. 031423,000213: 22,3423 02141 STORE TFF # TFF CORRECTED FOR TIME SINCE V82GOFF1 031424,000214: 22,3424 77776 EXIT # BEGAN. 031425,000215: 22,3425 34752 CAF BIT2 031426,000216: 22,3426 55537 TS V82FLAGS # INFORMS TICKTEST TO INCREMENT ONLY TFF. 031427,000217: 22,3427 05155 TC ENDOFJOB 031428,000218:
![]() |
Page 724 |
031430,000220: 22,3430 34747 TICKTEST CAF BIT5 # THIS WAITLIST PROGRAM PERPETUATES ITSELF 031431,000221: 22,3431 71044 MASK EXTVBACT # ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0. 031432,000222: 22,3432 10000 CCS A 031433,000223: 22,3433 03441 TC DOTICK 031434,000224: 22,3434 37712 CAF PRIO25 031435,000225: 22,3435 05072 TC NOVAC # TERMINATE V 82. CANT CALL ENDEXT IN RUPT. 031436,000226: 22,3436 1044 EBANK= EXTVBACT 031437,000227: 22,3436 05472 04062 2CADR ENDEXT 031438,000228: 031439,000229: 22,3440 05261 TC TASKOVER 031440,000230: 22,3441 34777 DOTICK CAF 1SEC # RE-REQUEST TICKTEST. 031441,000231: 22,3442 05203 TC WAITLIST 031442,000232: 22,3443 E4,1540 EBANK= TFF 031443,000233: 22,3443 03430 44064 2CADR TICKTEST 031444,000234: 031445,000235: 22,3445 36244 CAF THREE 031446,000236: 22,3446 71537 MASK V82FLAGS 031447,000237: 22,3447 50000 INDEX A 031448,000238: 22,3450 03451 TC +1 031449,000239: 22,3451 05261 TC TASKOVER # IF NO FLAGBITS SET DONT CHANGE TFF OR 031450,000240: # -TPER, BUT CONTINUE LOOP. 031451,000241: 22,3452 03460 TC TPERTICK # ONLY BIT 1 SET. INCR -TPER BY 1 SEC. 031452,000242: 22,3453 34777 TFFTICK CAF 1SEC # ONLY BIT 2 SET. INCR TFF BY 1 SEC. 031453,000243: 22,3454 54001 TS L 031454,000244: 22,3455 34755 CAF ZERO 031455,000245: 22,3456 21541 DAS TFF 031456,000246: 22,3457 05261 TC TASKOVER 031457,000247: 22,3460 34777 TPERTICK CAF 1SEC 031458,000248: 22,3461 54001 TS L 031459,000249: 22,3462 34755 CAF ZERO 031460,000250: 22,3463 21543 DAS -TPER 031461,000251: 22,3464 05261 TC TASKOVER 031462,000252:
![]() |
Page 725 |
031464,000254: 22,3465 77776 V82GON EXIT # AVERAGE G ON. USE CURRENT STATE VECTOR 031465,000255: # FOR ORBITAL PARAMETER CALCULATIONS. 031466,000256: 22,3466 35021 CAF PRIO7 # LESS THAN LAMBERT 031467,000257: 22,3467 05105 TC FINDVAC # V82GON1 WILL PERFORM ORBIT CALCULATIONS 031468,000258: 22,3470 E4,1540 EBANK= TFF # ABOUT PROPER BODY APPROX ONCE PER SEC. 031469,000259: 22,3470 03503 44064 2CADR V82GON1 031470,000260: 031471,000261: 22,3472 00003 RELINT 031472,000262: 22,3473 10067 CCS NEWJOB # WITHOLD V16 N44 UNTIL FIRST ORBIT CALC 031473,000263: 22,3474 05122 TC CHANG1 # IS DONE. NOTE: V82GON1 (PRIO7, FINDVAC 031474,000264: # JOB) IS COMPLETED BEFORE V82GON (PRIO7, 031475,000265: # NOVAC JOB). 031476,000266: 22,3475 33317 V82REDSP CAF V16N44 # MONITOR HAPO, HPER, TFF 031477,000267: 22,3476 04616 TC BANKCALL 031478,000268: 22,3477 20212 CADR GOXDSPF 031479,000269: 22,3500 05563 TC B5OFF # TERM THIS TELLS V82GON1 TO KILL ITSELF. 031480,000270: 22,3501 05563 TC B5OFF # PROC DITTO. 031481,000271: 22,3502 03475 TC V82REDSP # RECYCLE 031482,000272: 031483,000273: 22,3503 06036 V82GON1 TC INTPRET # THIS EXEC PROGRAM PERPETUATES ITSELF 031484,000274: # ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0. 031485,000275: 22,3504 52175 VLOAD GOTO # HOLDS OFF CCS NEWJOB BETWEEN RN AND 031486,000276: 22,3505 01221 RN # VN FETCH SO RN, VN ARE FROM SAME 031487,000277: 22,3506 45507 NEXTLINE # STATE VECTOR UPDATE. 031488,000278: 22,3507 26213 NEXTLINE STOVL RONE # RN AT (-29)M FOR EARTH OR MOON 031489,000279: 22,3510 01227 VN 031490,000280: 22,3511 02221 STORE VONE # VN AT (-7)M/CS FOR EARTH OR MOON 031491,000281: 22,3512 52014 BON GOTO 031492,000282: 22,3513 04304 MOONTHIS # FLAG INDICATES BODY ABOUT WHICH ORBITAL 031493,000283: 22,3514 45516 MOONGON # CALCULATIONS ARE TO BE PERFORMED. 031494,000284: 22,3515 45527 EARTHGON # IF SET - MOON, IF RESET - EARTH. 031495,000285: 031496,000286: 22,3516 71214 MOONGON SET DLOAD 031497,000287: 22,3517 03475 V82EMFLG # INDICATE MOON SCALING FOR SR30.1 031498,000288: 22,3520 04001 1/RTMUM # LUNAR PARAMETERS LOADED HERE FOR SR30.1 031499,000289: 22,3521 14037 STODL TFF/RTMU 031500,000290: 22,3522 05364 MINPERM 031501,000291: 22,3523 26205 STOVL HPERMIN 031502,000292: 22,3524 02023 RLS # SCALED AT (-27)M. 031503,000293: 22,3525 52046 ABVAL GOTO 031504,000294: 22,3526 45536 V82GON2 031505,000295: 22,3527 71214 EARTHGON CLEAR DLOAD 031506,000296: 22,3530 03675 V82EMFLG # INDICATE EARTH SCALING FOR SR30.1 031507,000297: 22,3531 04003 1/RTMUE # EARTH PARAMETERS LOADED HERE FOR SR30.1 031508,000298: 22,3532 14037 STODL TFF/RTMU 031509,000299: 22,3533 05366 MINPERE 031510,000300: 22,3534 16205 STODL HPERMIN 031511,000301: 22,3535 06276 RPAD 031512,000302: 22,3536 36207 V82GON2 STCALL RPADTEM # COMMON CODE FOR EARTH & MOON. 031513,000303: 22,3537 45551 SR30.1
![]() |
Page 726 |
031515,000305: 22,3540 77776 EXIT 031516,000306: 22,3541 34747 V82GON3 CAF BIT5 031517,000307: 22,3542 71044 MASK EXTVBACT # SEE IF ASTRONAUT HAS SIGNALLED TERMINATE 031518,000308: 22,3543 00006 EXTEND 031519,000309: 22,3544 15472 BZF ENDEXT # YES, TERMINATE VB 82 LOOP 031520,000310: 22,3545 34777 CAF 1SEC 031521,000311: 22,3546 04616 TC BANKCALL # WAIT ONE SECOND BEFORE REPEATING 031522,000312: 22,3547 01735 CADR DELAYJOB # ORBITAL PARAMETER COMPUTATION. 031523,000313: 22,3550 03503 TC V82GON1 031524,000314: 031525,000315: 22,3551 22,3541 SPLRET = V82GON3 031526,000316:
![]() |
Page 727 |
031528,000318: # SUBROUTINE NAME: SR30.1 031529,000319: # MOD NO: 0 DATE: 16 FEB 67 031530,000320: # MOD BY: RR BAIRNSFATHER LOG SECTION: R32 031531,000321: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN 031532,000322: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67 ADD OVFL CK FOR RAPO 031533,000323: # MOD NO: 3 MOD BY ALONSO DATE: 11 DEC 67 SUBROUTINE REWRITTEN 031534,000324: # MOD NO: 4 MOD BY ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE 031535,000325: # MOD NO: 5 MOD BY: RR BAIRNSFATHER DATE: 6 AUG 68 OVFL CK FOR HAPO & HPER. VOIDS MOD #2. 031536,000326: 031537,000327: # NEW FUNCTIONAL DESCRIPTION: ORBITAL PARAMETERS DISPLAY FOR NOUNS 32 AND 44. 031538,000328: # SR30.1 CALLS TFFCONMU AND TFFRP/RA TO CALCULATE RPER (PERIGEE RADIUS), 031539,000329: # RAPO (APOGEE RADIUS), HPER (PERIGEE HEIGHT ABOVE LAUNCH PAD OR LUNAR 031540,000330: # LANDING SITE), HAPO (APOGEE HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), 031541,000331: # TFF (TIME TO INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE). 031542,000332: # IF HPER IS GREATER THAN OR EQUAL TO HPERMIN, CALCULATES TPER AND STORES 031543,000333: # NEGATIVE IN -TPER. OTHERWISE STORES +0 IN -TPER. WHENEVER TPER IS 031544,000334: # CALCULATED, TFF IS NOT COMPUTABLE AND DEFAULTS TO -59MIN 59SEC. IF HAPO 031545,000335: # WOULD EXCEED 9999.9 NM, IT IS LIMITED TO THAT VALUE FOR DISPLAY. 031546,000336: 031547,000337: # ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE 031548,000338: # ABOVE REMARKS. 031549,000339: 031550,000340: # CALLING SEQUENCE: CALL 031551,000341: # SR30.1 031552,000342: 031553,000343: # SUBROUTINES CALLED: TFFCONMU, TFFRP/RA, CALCTPER, CALCTFF 031554,000344: 031555,000345: # NORMAL EXIT MODE: CALLING LINE +1 (STILL IN INTERPRETIVE MODE) 031556,000346: 031557,000347: # ALARMS: NONE 031558,000348: 031559,000349: # OUTPUT: RAPO (-29) M EARTH APOGEE RADIUS EARTH CENTERED COORD. 031560,000350: # (-27) M MOON MOON CENTERED COORD. 031561,000351: # RPER (-29) M EARTH PERIGEE RADIUS EARTH CENTERED COORD. 031562,000352: # (-27) M MOON MOON CENTERED COORD. 031563,000353: # HAPOX (-29) M APOGEE ALTITUDE ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM. 031564,000354: # HPERX (-29) M PERIGEE ALT. ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM. 031565,000355: # TFF (-28) CS TIME TO 300KFT OR 35KFT ALTITUDE 031566,000356: # -TPER (-28) CS TIME TO PERIGEE 031567,000357: 031568,000358: # ERASABLE INITIALIZATION REQUIRED - 031569,000359: # TFF/RTMU (+17) EARTH RECIPROCAL OF PROPER GRAV CONSTANT FOR 031570,000360: # (+14) MOON EARTH OR MOON = 1/SQRT(MU). 031571,000361: # RONE (-29) M STATE VECTOR 031572,000362: # VONE (-7) M/CS STATE VECTOR 031573,000363: # RPADTEM (-29) M EARTH RADIUS OF LAUNCH PAD OR LUNAR LANDING 031574,000364: # (-27) M MOON SITE. 031575,000365: # HPERMIN (-29) M EARTH (300 OR 35) KFT MINIMUM PERIGEE ALTITUDE 031576,000366: # (-27) M MOON ABOVE LAUNCH PAD OR LUNAR LANDING SITE. 031577,000367: # V82EMFLG (INT SW BIT) RESET FOR EARTH, SET FOR MOON. 031578,000368: 031579,000369: # DEBRIS: QPRET, PDL, S2 031580,000370:
![]() |
Page 728 |
031582,000372: 22,3551 COUNT* $$/SR30S 031583,000373: 031584,000374: 22,3551 44001 SR30.1 SETPD STQ # INITIALIZE PUSHDOWN LIST. 031585,000375: 22,3552 00001 0 031586,000376: 22,3553 00051 S2 031587,000377: # SR30.1 INPUT: RONE AT (-29)M EARTH/MOON 031588,000378: # VONE AT (-7)M/CS 031589,000379: # TFFCONMU, TFFRP/RA, CALCTPER AND CALCTFF 031590,000380: # CALLS REQUIRE: 031591,000381: # EARTH CENTERED (NO RESCALING REQUIRED) 031592,000382: # RONE SCALED TO B-29 M 031593,000383: # VONE SCALED TO B-7 M/CS 031594,000384: # MOON CENTERED (RESCALING REQUIRED) 031595,000385: # RONE SCALED TO B-27 M 031596,000386: # VONE SCALED TO B-5 M/CS 031597,000387: 22,3554 77214 BOFF VLOAD 031598,000388: 22,3555 03755 V82EMFLG # OFF FOR EARTH, ON FOR MOON. 031599,000389: 22,3556 45565 TFFCALLS 031600,000390: 22,3557 02213 RONE 031601,000391: 22,3560 77752 VSL2 031602,000392: 22,3561 26213 STOVL RONE 031603,000393: 22,3562 02221 VONE 031604,000394: 22,3563 77752 VSL2 031605,000395: 22,3564 02221 STORE VONE 031606,000396: 22,3565 77624 TFFCALLS CALL 031607,000397: 22,3566 57333 TFFCONMU 031608,000398: 22,3567 77624 CALL # TFFRP/RA COMPUTES RAPO,RPER. 031609,000399: 22,3570 57401 TFFRP/RA 031610,000400: # RETURNS WITH RAPO IN D(MPAC). 031611,000401: 22,3571 77625 DSU 031612,000402: 22,3572 02207 RPADTEM 031613,000403: 22,3573 64414 BOFF SR2R # NEED HAPO AT (-29)M FOR DISPLAY. 031614,000404: # IF MOON CENTERED, RESCALE FROM (-27)M. 031615,000405: # IF EARTH CENTERED ALREADY AT (-29)M. 031616,000406: 22,3574 03755 V82EMFLG # OFF FOR EARTH, ON FOR MOON. 031617,000407: 22,3575 45576 +1 031618,000408: 22,3576 77624 CALL # IF HAPO > MAXNM, SET HAPO =9999.9 NM. 031619,000409: 22,3577 45636 MAXCHK # OTHERWISE STORE (RAPO-RPADTEM) IN HAPO. 031620,000410: 22,3600 16120 STORHAPO STODL HAPOX 031621,000411: 22,3601 00017 RPER 031622,000412: 22,3602 77625 DSU 031623,000413: 22,3603 02207 RPADTEM # GIVES HPER AT (-29)M EARTH, (-27)M MOON. 031624,000414: 22,3604 00161 STORE MPAC +4 # SAVE THIS FOR COMPARISON TO HPERMIN. 031625,000415: 22,3605 64414 BOFF SR2R # NEED HPER AT (-29)M FOR DISPLAY. 031626,000416: # IF MOON CENTERED, RESCALE FROM (-27)M. 031627,000417: # IF EARTH CENTERED ALREADY AT (-29)M. 031628,000418: 22,3606 03755 V82EMFLG # OFF FOR EARTH, ON FOR MOON. 031629,000419: 22,3607 45610 +1 031630,000420: 22,3610 77624 CALL # IF HPER > MAXNM, SET HPER = 9999.9 NM. 031631,000421: 22,3611 45636 MAXCHK
![]() |
Page 729 |
031633,000423: 22,3612 16122 STORHPER STODL HPERX # STORE (RPER - RPADTEM) INTO HPERX. 031634,000424: 22,3613 00161 MPAC +4 031635,000425: 22,3614 51025 DSU BPL # HPERMIN AT (-29)M FOR EARTH, (-27)M MOON 031636,000426: 22,3615 02205 HPERMIN # IF HPER L/ HPERMIN (300 OR 35) KFT, 031637,000427: 22,3616 45622 DOTPER # THEN ZERO INTO -TPER. 031638,000428: 22,3617 52145 DLOAD GOTO # OTHERWISE CALCULATE TPER. 031639,000429: 22,3620 06424 HI6ZEROS 031640,000430: 22,3621 45626 SKIPTPER 031641,000431: 22,3622 45145 DOTPER DLOAD CALL 031642,000432: 22,3623 00017 RPER 031643,000433: 22,3624 57437 CALCTPER 031644,000434: 22,3625 77676 DCOMP # TPER IS PUT NEG INTO -TPER. 031645,000435: 22,3626 16143 SKIPTPER STODL -TPER 031646,000436: 22,3627 02205 HPERMIN # HPERMIN AT (-29)M FOR EARTH, (-27)M MOON 031647,000437: 22,3630 45015 DAD CALL 031648,000438: 22,3631 02207 RPADTEM # RPADTEM AT (-29)M FOR EARTH, (-27)M MOON 031649,000439: 22,3632 57442 CALCTFF # GIVES 59M59S FOR TFF IF RPER G/ 031650,000440: 22,3633 77676 DCOMP # HPERMIN + RPADTEM. (TPER WAS NON ZERO) 031651,000441: 22,3634 36141 STCALL TFF # OTHERWISE COMPUTES TFF. (GOTO) 031652,000442: 22,3635 00051 S2 031653,000443: 031654,000444: 22,3636 51025 MAXCHK DSU BPL # IF C(MPAC) > 9999.9 NM, MPAC = 9999.9 NM 031655,000445: 22,3637 05646 MAXNM 031656,000446: 22,3640 45643 +3 # OTHERWISE C(MPAC) = B(MPAC). 031657,000447: 22,3641 43415 DAD RVQ 031658,000448: 22,3642 05646 MAXNM 031659,000449: 22,3643 43545 +3 DLOAD RVQ # (USED BY P30 - P37 ALSO) 031660,000450: 22,3644 05646 MAXNM 031661,000451: 031662,000452: 22,3645 01065 05603 MAXNM 2OCT 01065 05603 031663,000453:
![]() |
Page 730 Empty page. |
031666,000456: End of include-file R30.agc. Parent file is MAIN.agc