Source Code

029821,000001: # Copyright: Public domain. 029822,000002: # Filename: R30.agc 029823,000003: # Purpose: A section of Luminary 1C, revision 131. 029824,000004: # It is part of the source code for the Lunar Module's (LM) 029825,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 029826,000006: # This file is intended to be a faithful transcription, except 029827,000007: # that the code format has been changed to conform to the 029828,000008: # requirements of the yaYUL assembler rather than the 029829,000009: # original YUL assembler. 029830,000010: # Reference: pp. 719-729 of 1729.pdf. 029831,000011: # Contact: Ron Burkey <info@sandroid.org>. 029832,000012: # Website: www.ibiblio.org/apollo/index.html 029833,000013: # Mod history: 05/24/03 RSB. Began transcribing. 029834,000014: # 05/14/05 RSB Corrected website reference above. 029835,000015: 029836,000016: # Page 719 029837,000017: # SUBROUTINE NAME: V82CALL 029838,000018: # MOD NO: 0 DATE: 16 FEB 67 029839,000019: # MOD BY: R. R. BAIRNSFATHER LOG SECTION: R30 029840,000020: # MOD NO: 1 MOD BY: R. R. BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN 029841,000021: # MOD NO: 2 MOD BY: ALONSO DATE: 11 DEC 67 VB82 PROGRAM REWRITTEN 029842,000022: # MOD NO: 3 MOD BY: ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE 029843,000023: 029844,000024: # NEW FUNCTIONAL DESCRIPTION: CALLED BY VERB 82 ENTER. PRIORITY 10. 029845,000025: # USED THROUGHOUT. CALCULATE AND DISPLAY ORBITAL PARAMETERS 029846,000026: 029847,000027: # 1. IF AVERAGE G IS OFF: 029848,000028: # FLASH DISPLAY V04N06. R2 INDICATES WHICH SHIP'S STATE VECTOR IS 029849,000029: # TO BE UPDATED. INITIAL CHOICE IS THIS SHIP (R2-1). ASTRONAUT 029850,000030: # CAN CHANGE TO OTHER SHIP BY V22EXE. WHERE X IS NOT EQ 1. 029851,000031: # SELECTED STATE VECTOR UPDATED BY THISPREC (OTHPREC). 029852,000032: # CALLS SR30.1 (WHICH CALLS TFFCONMU + TFFRP/RA) TO CALCULATE 029853,000033: # RPER (PERIGEE RADIUS), RAPO (APOGEE RADIUS), HPER (PERIGEE 029854,000034: # HEIGHT ABOVE LAUNCH PAD OR LAUNAR LANDING SITE), HARD (APOGEE 029855,000035: # HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), TFF (TIME TO 029856,000036: # INTERSECT 300 KFT ABOVE PAD OR 36KFT ABOVE LANDING SITE). 029857,000037: # FLASH MONITOR V16N44 (HAPO, HPER, TFF). TFF IS -59MS59S IF IT WAS 029858,000038: # NOT COMPUTABLE, OTHERWISE IT INCREMENTS ONCE PER SECOND. 029859,000039: # ASTRONAUT HAS OPTION TO MONITOR TPER BY KING IN N 32 E. 029860,000040: # DISPLAY IS IN HMS, IS NEGATIVE (AS WAS TFF), AND INCREMENTS 029861,000041: # ONCE PER SECOND ONLY IF TFF DISPLAY WAS -59M59S. 029862,000042: # 2. IF AVERAGE G IS ON: 029863,000043: # CALLS SR30.1 APPROX EVERY TWO SECS. STATE VECTOR IS ALWAYS 029864,000044: # FOR THIS VEHICLE. V82 DOES NOT DISTURB STATE VECTOR. RESULTS 029865,000045: # OF SR30.1 ARE RAPO, RPER, HAPO, HPER, TPER, TFF. 029866,000046: # FLASH MONITOR V16N44 (HAPO, HPER, TFF). 029867,000047: # ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE 029868,000048: # ABOVE REMARKS. 029869,000049: 029870,000050: # CALLING SEQUENCE: VERB 82 ENTER. 029871,000051: 029872,000052: # SUBROUTINES CALLED: SR30.1, GOXDSPF 029873,000053: # MAYBE -- THISPREC, OTHPREC, LOADTIME, DELRSPL 029874,000054: 029875,000055: # NORMAL EXIT MODES: tc endext 029876,000056: 029877,000057: # ALARMS: NONE 029878,000058: 029879,000059: # OUTPUT: HAPOX (-29) M 029880,000060: # HPERX (-29) M 029881,000061: # RAPO (-29) M EARTH 029882,000062: # (-27) M MOON 029883,000063: # RPER (-29) M EARTH 029884,000064: # (-27) M MOON 029885,000065: # TFF (-28) CS CONTAINS NEGATIVE QUANTITY 029886,000066: # -TPER (-28) CS CONTAINS NEGATIVE QUANTITY 029887,000067: 029888,000068: # Page 720 029889,000069: # ERASABLE INITIALIZATION REQUIRED: STATE VECTOR. 029890,000070: 029891,000071: # DEBRIS: QPRET, RONE, VONE, TFF/RTMU, HPERMIN, RPADTEM, V82EMFLG. 029892,000072: # MAYBE: TSTART82, V82FLAGS, TDEC1. 029893,000073: 029894,000074: 13,2347 E4,1517 EBANK= HAPOX 029895,000075: 31,2144 BANK 31 029896,000076: 22,2000 SETLOC R30LOC 029897,000077: 22,2000 BANK 029898,000078: 22,3242 COUNT* $$/R30 029899,000079: 029900,000080: 22,3242 06042 V82CALL TC INTPRET 029901,000081: 22,3243 52014 BON GOTO 029902,000082: 22,3244 03712 AVEGFLAG 029903,000083: 22,3245 45465 V82GON # IF AVERAGE G ON 029904,000084: 22,3246 45247 V82GOFF # IF AVERAGE G OFF 029905,000085: 029906,000086: 22,3247 77776 V82GOFF EXIT # ALLOW ASTRONAUT TO SELECT VEHICLE 029907,000087: 22,3250 34752 CAF TWO # DESIRED FOR ORBITAL PARAMETERS 029908,000088: 22,3251 55050 TS OPTIONX # CALCULATION AND DISPLAY. 029909,000089: 22,3252 34753 CAF ONE 029910,000090: 22,3253 55051 TS OPTIONX +1 029911,000091: 22,3254 33316 CAF OPTIONVN # V 04 N 06 029912,000092: 22,3255 04616 TC BANKCALL 029913,000093: 22,3256 20334 CADR GOXDSPF 029914,000094: 22,3257 05472 TC ENDEXT # TERMINATE 029915,000095: 22,3260 03262 TC +2 # PROCEED 029916,000096: 22,3261 03254 TC -5 # DATA IN. OPTION1+1 = 1 FOR THIS VEHICLE 029917,000097: # UNEQ 1 FOR OTHER VEHICLE 029918,000098: 22,3262 34750 CAF BIT4 # 80 MS 029919,000099: 22,3263 05203 TC WAITLIST 029920,000100: 22,3264 E4,1540 EBANK= TFF 029921,000101: 22,3264 03430 44064 2CADR TICKTEST 029922,000102: 029923,000103: 22,3266 00003 RELINT 029924,000104: 22,3267 33320 V82GOFLP CAF TFFBANK # MAJOR RECYCLE LOOP ENTRY 029925,000105: 22,3270 54003 TS EBANK 029926,000106: 22,3271 34755 CAF ZERO 029927,000107: 22,3272 55537 TS V82FLAGS # ZERO FLAGS FOR TICKTEST, INHIBITS 029928,000108: # DECREMENTING OF TFF AND -TPER. 029929,000109: 22,3273 35021 CAF PRIO7 029930,000110: 22,3274 05105 TC FINDVAC # V82GOFF1 WILL EXECUTE STATE VECTOR 029931,000111: 22,3275 E4,1540 EBANK= TFF # UPDATE AND ORBIT CALCULATIONS FOR 029932,000112: 22,3275 03321 44064 2CADR V82GOFF1 # SELECTED VEHICLE ABOUT PROPER BODY. 029933,000113: 029934,000114: 22,3277 00003 RELINT 029935,000115: 22,3300 36250 V82STALL CAF THREE # STALL IN THIS LOOP AND WITHOLD V 16 N 44 029936,000116: # Page 721 029937,000117: 22,3301 71537 MASK V82FLAGS # UNTIL STATE VECTOR UPDATE SETS ONE OF 029938,000118: 22,3302 10000 CCS A # OUR FLAG BITS. 029939,000119: 22,3303 03310 TC FLAGGON # EXIT FROM STALL LOOP. 029940,000120: 22,3304 34777 CAF 1SEC 029941,000121: 22,3305 04616 TC BANKCALL 029942,000122: 22,3306 01736 CADR DELAYJOB 029943,000123: 22,3307 03300 TC V82STALL 029944,000124: 029945,000125: 22,3310 33317 FLAGGON CAF V16N44 # MONITOR HAPO,HPER,TFF. 029946,000126: 22,3311 04616 TC BANKCALL 029947,000127: 22,3312 20334 CADR GOXDSPF 029948,000128: 22,3313 05563 TC B5OFF # TERM. THIS TELLS TICKTEST TO KILL ITSELF 029949,000129: 22,3314 05563 TC B5OFF # PROCEED. DITTO 029950,000130: 22,3315 03267 TC V82GOFLP # RECYCLE. RECOMPUTE STATE VECT + DISPLAY 029951,000131: 029952,000132: 22,3316 01014 OPTIONVN VN 412 029953,000133: 22,3317 04054 V16N44 VN 1644 029954,000134: 22,3320 02140 TFFBANK ECADR TFF 029955,000135: 029956,000136: 22,3321 06042 V82GOFF1 TC INTPRET 029957,000137: 22,3322 77634 RTB 029958,000138: 22,3323 21574 LOADTIME 029959,000139: 22,3324 00041 STORE TDEC1 # TIME FOR STATE VECTOR UPDATE. 029960,000140: 22,3325 02205 STORE TSTART82 # TIME FOR INTERNAL USE. 029961,000141: 22,3326 77776 EXIT 029962,000142: 22,3327 41051 CS OPTIONX +1 # 1 FOR THIS VEHICLE, NOT 1 FOR OTHER. 029963,000143: 22,3330 64753 AD ONE 029964,000144: 22,3331 00006 EXTEND 029965,000145: 22,3332 13356 BZF THISSHIP 029966,000146: 22,3333 06042 OTHSHIP TC INTPRET 029967,000147: 22,3334 77624 CALL # CALL STATE VECTOR UPDATE FOR OTHER SHIP. 029968,000148: 22,3335 27042 OTHPREC 029969,000149: 22,3336 77775 BOTHSHIP VLOAD # MOVE RESULTS INTO TFFCONIC STORAGE AREAS 029970,000150: 22,3337 00001 RATT # TO BE CALLED BY SR30.1. 029971,000151: 22,3340 26207 STOVL RONE # RATT AT (-29)M FOR EARTH OR MOON. 029972,000152: 22,3341 00007 VATT 029973,000153: 22,3342 02215 STORE VONE # VATT AT (-7)M/CS FOR EARTH OR MOON 029974,000154: 22,3343 77743 DLOAD* 029975,000155: 22,3344 73774 1/RTMUE,2 # X2 IS 0 FOR EARTH CENTERED STATE VEC 029976,000156: 22,3345 00037 STORE TFF/RTMU # X2 IS 2 FOR MOON 029977,000157: 22,3346 77743 DLOAD* # AS LEFT BY THISPREC OR OTHPREC. 029978,000158: 22,3347 72411 MINPERE,2 029979,000159: 22,3350 02201 STORE HPERMIN # TFFRTMU, HPERMIN, AND RPADTEM ARE ALL 029980,000160: 22,3351 46135 SLOAD BHIZ # EARTH/MOON PARAMETERS AS SET HERE. 029981,000161: 22,3352 00050 X2 029982,000162: 22,3353 45367 EARTHPAD 029983,000163: 22,3354 77650 GOTO 029984,000164: 22,3355 45373 MOONPAD 029985,000165: # Page 722 029986,000166: 22,3356 06042 THISSHIP TC INTPRET 029987,000167: 22,3357 77624 CALL # CALL STATE VECTOR UPDATE FOR THIS SHIP. 029988,000168: 22,3360 27056 THISPREC 029989,000169: 22,3361 77650 GOTO 029990,000170: 22,3362 45336 BOTHSHIP 029991,000171: 029992,000172: # THE FOLLOWING CONSTANTS ARE PAIRWISE INDEXED. DO NOT SEPARATE PAIRS. 029993,000173: 029994,000174: 22,3363 00001 11530 MINPERM 2DEC 10668 B-27 # 35 KFT MIN PERIGEE HEIGHT FOR MOON(-27)M 029995,000175: 22,3365 00002 31230 MINPERE 2DEC 91440 B-29 # 300 KFT (-29)M FOR EARTH 029996,000176: 029997,000177: 22,3367 43145 EARTHPAD DLOAD CLRGO # PAD 37-B RADIUS. SCALED AT (-29)M 029998,000178: 22,3370 06340 RPAD 029999,000179: 22,3371 03635 V82EMFLG # INDICATE EARTH SCALING FOR SR30.1 030000,000180: 22,3372 45377 BOTHPAD 030001,000181: 030002,000182: 22,3373 51575 MOONPAD VLOAD ABVAL # COMPUTE MOON PAD RADIUS FROM RLS VECTOR. 030003,000183: 22,3374 02023 RLS # SCALED AT (-27)M 030004,000184: 22,3375 77614 SET 030005,000185: 22,3376 03475 V82EMFLG # INDICATE MOON SCALILNG FOR SR30.1 030006,000186: 22,3377 36203 BOTHPAD STCALL RPADTEM 030007,000187: 22,3400 45551 SR30.1 # CALCULATE ORBITAL PARAMETERS 030008,000188: 22,3401 45234 RTB DSU 030009,000189: 22,3402 21574 LOADTIME 030010,000190: 22,3403 02205 TSTART82 # PRESENT TIME -- TIME V82GOFF1 BEGAN 030011,000191: 22,3404 02205 STORE TSTART82 # SAVE IT 030012,000192: 22,3405 53145 DLOAD BZE # SR30.1 SETS -TPER=0 IF HPER L/ 030013,000193: 22,3406 02143 -TPER # HPERMIN (300 OR 35) KFT. 030014,000194: 22,3407 45420 TICKTIFF # (-TPER = 0) 030015,000195: 22,3410 43345 TICKTPER DLOAD DAD # (-TPER NON ZERO) TFF WAS NOT COMPUTED. 030016,000196: 22,3411 02143 -TPER # BUT WAS SET TO 59M59S. DON'T DICK TFF, DO 030017,000197: 22,3412 02205 TSTART82 # TICK -TPER. DISPLAY BOTH. 030018,000198: 22,3413 02143 STORE -TPER # -TPER CORRECTED FOR TIME SINCE V82GOFF1 030019,000199: 22,3414 77776 EXIT # BEGAN 030020,000200: 22,3415 34753 CAF BIT1 030021,000201: 22,3416 55537 TS V82FLAGS # INFORMS TICKTEST TO INCREMENT ONLY -TPER 030022,000202: 22,3417 05155 TC ENDOFJOB 030023,000203: 030024,000204: 22,3420 43345 TICKTIFF DLOAD DAD # (-TPER=0) TFF WAS COMPUTED. TICK TFF. 030025,000205: 22,3421 02141 TFF # DO NOT TICK -TPER. DISPLAY TFF, BUT NOT 030026,000206: 22,3422 02205 TSTART82 # -TPER. 030027,000207: 22,3423 02141 STORE TFF # TFF CORRECTED FRO TIME SINCE V82GOFF1 030028,000208: 22,3424 77776 EXIT # BEGAN. 030029,000209: 22,3425 34752 CAF BIT2 030030,000210: 22,3426 55537 TS V82FLAGS # INFORMS TICKTEST TO INCREMENT ONLY TFF. 030031,000211: 22,3427 05155 TC ENDOFJOB 030032,000212: 030033,000213: # Page 723 030034,000214: 22,3430 34747 TICKTEST CAF BIT5 # THIS WAITLIST PROGRAM PERPETUATES ITSELF 030035,000215: 22,3431 71043 MASK EXTVBACT # ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0. 030036,000216: 22,3432 10000 CCS A 030037,000217: 22,3433 03441 TC DOTICK 030038,000218: 22,3434 37716 CAF PRIO25 030039,000219: 22,3435 05072 TC NOVAC # TERMINATE V 82. CAN'T CALL ENDEXT IN RUPT. 030040,000220: 22,3436 1043 EBANK= EXTVBACT 030041,000221: 22,3436 05472 04062 2CADR ENDEXT 030042,000222: 030043,000223: 22,3440 05261 TC TASKOVER 030044,000224: 22,3441 34777 DOTICK CAF 1SEC # RE-REQUEST TICKTEST. 030045,000225: 22,3442 05203 TC WAITLIST 030046,000226: 22,3443 E4,1540 EBANK= TFF 030047,000227: 22,3443 03430 44064 2CADR TICKTEST 030048,000228: 030049,000229: 22,3445 36250 CAF THREE 030050,000230: 22,3446 71537 MASK V82FLAGS 030051,000231: 22,3447 50000 INDEX A 030052,000232: 22,3450 03451 TC +1 030053,000233: 22,3451 05261 TC TASKOVER # IF NO FLAGBITS SET DONT' CHANGE TFF OR 030054,000234: # -TPER, BUT CONTINUE LOOP. 030055,000235: 22,3452 03460 TC TPERTICK # ONLY BIT 1 SET. INCR -TPER BY 1 SEC. 030056,000236: 22,3453 34777 TFFTICK CAF 1SEC # ONLY BIT 2 SET. INCR TFF BY 1 SEC. 030057,000237: 22,3454 54001 TS L 030058,000238: 22,3455 34755 CAF ZERO 030059,000239: 22,3456 21541 DAS TFF 030060,000240: 22,3457 05261 TC TASKOVER 030061,000241: 22,3460 34777 TPERTICK CAF 1SEC 030062,000242: 22,3461 54001 TS L 030063,000243: 22,3462 34755 CAF ZERO 030064,000244: 22,3463 21543 DAS -TPER 030065,000245: 22,3464 05261 TC TASKOVER 030066,000246: 030067,000247: # Page 724 030068,000248: 22,3465 77776 V82GON EXIT # AVERAGE G ON. USE CURRENT STATE VECTOR 030069,000249: # FOR ORBITAL PARAMETER CALCULATIONS. 030070,000250: 22,3466 35021 CAF PRIO7 # LESS THAN LAMBERT 030071,000251: 22,3467 05105 TC FINDVAC # V82GON1 WILL PERFORM ORBIT CALCULATIONS 030072,000252: 22,3470 E4,1540 EBANK= TFF # ABOUT PROPER BODY APPROX ONCE PER SEC. 030073,000253: 22,3470 03503 44064 2CADR V82GON1 030074,000254: 030075,000255: 22,3472 00003 RELINT 030076,000256: 22,3473 10067 CCS NEWJOB # WITHOLD V16 N44 UNTIL FIRST ORBIT CALC 030077,000257: 22,3474 05122 TC CHANG1 # IS DONE. NOTE: V82GON1 (PRIO7, FINDVAC 030078,000258: # JOB) IS COMPLETED BEFORE V82GON (PRIO7, 030079,000259: # NOVAC JOB). 030080,000260: 22,3475 33317 V82REDSP CAF V16N44 # MONITOR HAPO, HPER, TFF 030081,000261: 22,3476 04616 TC BANKCALL 030082,000262: 22,3477 20334 CADR GOXDSPF 030083,000263: 22,3500 05563 TC B5OFF # TERM THIS TELLS V82GON1 TO KILL ITSELF. 030084,000264: 22,3501 05563 TC B5OFF # PROC DITTO. 030085,000265: 22,3502 03475 TC V82REDSP # RECYCLE 030086,000266: 030087,000267: 22,3503 06042 V82GON1 TC INTPRET # THIS EXEC PROGRAM PERPETUATES ITSELF 030088,000268: # ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0. 030089,000269: 22,3504 52175 VLOAD GOTO # HOLDS OFF CCS NEWJOB BETWEEN RN AND 030090,000270: 22,3505 01220 RN # VN FETCH SO RN, VN ARE FROM SAME 030091,000271: 22,3506 45507 NEXTLINE # STATE VECTOR UPDATE. 030092,000272: 22,3507 26207 NEXTLINE STOVL RONE # RN AT (-29)M FOR EARTH OR MOON 030093,000273: 22,3510 01226 VN 030094,000274: 22,3511 02215 STORE VONE # VN AT (-7)M/CS FOR EARTH OR MOON 030095,000275: 22,3512 52014 BON GOTO 030096,000276: 22,3513 04304 MOONTHIS # FLAG INDICATES BODY ABOUT WHICH ORBITAL 030097,000277: 22,3514 45516 MOONGON # CALCULATIONS ARE TO BE PERFORMED. 030098,000278: 22,3515 45527 EARTHGON # IF SET -- MOON, IF RESET --EARTH. 030099,000279: 030100,000280: 22,3516 71214 MOONGON SET DLOAD 030101,000281: 22,3517 03475 V82EMFLG # FLAG INDICATES BODY ABOUT WHICH ORBITAL 030102,000282: 22,3520 04001 1/RTMUM # LUNAR PARAMETERS LOADED HERE FOR SR30.1 030103,000283: 22,3521 14037 STODL TFF/RTMU 030104,000284: 22,3522 05364 MINPERM 030105,000285: 22,3523 26201 STOVL HPERMIN 030106,000286: 22,3524 02023 RLS # SCALED AT (-27)M 030107,000287: 22,3525 52046 ABVAL GOTO 030108,000288: 22,3526 45536 V82GON2 030109,000289: 22,3527 71214 EARTHGON CLEAR DLOAD 030110,000290: 22,3530 03675 V82EMFLG # INDICATE EARTH SCALING FOR SR30.1 030111,000291: 22,3531 04003 1/RTMUE # EARTH PARAMETERS LOADED HERE FOR SR30.1 030112,000292: 22,3532 14037 STODL TFF/RTMU 030113,000293: 22,3533 05366 MINPERE 030114,000294: 22,3534 16201 STODL HPERMIN 030115,000295: 22,3535 06340 RPAD 030116,000296: 22,3536 36203 V82GON2 STCALL RPADTEM # COMMON CODE FOR EARTH & MOON. 030117,000297: 22,3537 45551 SR30.1 030118,000298: # Page 725 030119,000299: 22,3540 77776 EXIT 030120,000300: 22,3541 34747 V82GON3 CAF BIT5 030121,000301: 22,3542 71043 MASK EXTVBACT # SEE IF ASTRONAUT HAS SIGNALLED TERMINATE 030122,000302: 22,3543 00006 EXTEND 030123,000303: 22,3544 15472 BZF ENDEXT # YES, TERMINATE VB 82 LOOP 030124,000304: 22,3545 34777 CAF 1SEC 030125,000305: 22,3546 04616 TC BANKCALL # WAIT ONE SECOND BEFORE REPEATING 030126,000306: 22,3547 01736 CADR DELAYJOB # ORBITAL PARAMETER COMPUTATION. 030127,000307: 22,3550 03503 TC V82GON1 030128,000308: 030129,000309: 22,3551 22,3541 SPLRET = V82GON3 030130,000310: 030131,000311: # Page 726 030132,000312: # SUBROUTINE NAME: SR30.1 030133,000313: # MOD NO: 0 DATE: 16 FEB 67 030134,000314: # MOD BY: R. R. BAIRNSFATHER LOG SECTION: R32 030135,000315: # MOD NO: 1 MOD BY: R. R. BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN 030136,000316: # MOD NO: 2 MOD BY: R. R. BAIRNSFATHER DATE: 14 APR 67 ADD OVFL CK FOR RAPO 030137,000317: # MOD NO: 3 MOD BY ALONSO DATE: 11 DEC 67 SUBROUTINE REWRITTEN 030138,000318: # MOD NO: 4 MOD BY ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE 030139,000319: # MOD NO: 5 MOD BY: R. R. BAIRNSFATHER DATE: 6 AUG 68 OVFL CK FOR HAPO & HPER. VOIDS MOD #2. 030140,000320: 030141,000321: # NEW FUNCTIONAL DESCRIPTION: ORBITAL PARAMETERS DISPLAY FOR NOUNS 32 AND 44. 030142,000322: # SR30.1 CALLS TFFCONMU AND TFFRP/RA TO CALCULATE RPER (PERIGEE RADIUS), 030143,000323: # RAPO (APOGEE RADIUS), HPER (PERIGEE HEIGHT ABOVE LAUNCH PAD OR LUNAR 030144,000324: # LANDING SITE), HAPO (APOGEE HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), 030145,000325: # TFF (TIME TO INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE). 030146,000326: # IF HPER IS GREATER THAN OR EQUAL TO HPERMIN, CALCULATES TPER AND STORES 030147,000327: # NEGATIVE. IN -TPER. OTHERWISE STORES +0 IN -TPER. WHENEVER TPER IS 030148,000328: # CALCULATED, TFF IS NOT COMPUTABLE AND DEFAULTS TO -59MIN 59SEC. IF HAPO 030149,000329: # WOULD EXCEED 9999.9 NM, IT IS LIMITED TO THAT VALUE FOR DISPLAY. 030150,000330: 030151,000331: # ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE 030152,000332: # ABOVE REMARKS. 030153,000333: 030154,000334: # CALLING SEQUENCE: CALL 030155,000335: # SR30.1 030156,000336: 030157,000337: # SUBROUTINES CALLED: TFFCONMU, TFFRP/RA, CALCTPER, CALCTFF 030158,000338: 030159,000339: # NORMAL EXIT MODE: CALLING LINE +1 (STILL IN INTERPRETIVE MODE) 030160,000340: 030161,000341: # ALARMS: NONE 030162,000342: 030163,000343: # OUTPUT: RAPO (-29) M EARTH APOGEE RADIUS EARTH CENTERED COORD. 030164,000344: # (-27) M MOON MOON CENTERED COORD. 030165,000345: # RPER (-29) M EARTH PERIGEE RADIUS EARTH CENTERED COORD. 030166,000346: # (-27) M MOON MOON CENTERED COORD. 030167,000347: # HAPOX (-29) M APOGEE ALTITUDE ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM. 030168,000348: # HPERX (-29) M PERIGEE ALT. ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM. 030169,000349: # TFF (-28) CS TIME TO 300KFT OR 35KFT ALTITUDE 030170,000350: # -TPER (-28) CS TIME TO PERIGEE 030171,000351: 030172,000352: # ERASABLE INITIALIZATION REQUIRED -- 030173,000353: # TFF/RTMU (+17) EARTH RECIPROCAL OF PROPER GRAV CONSTANT FOR 030174,000354: # (+14) MOON EARTH OR MOON = 1/SQRT(MU). 030175,000355: # RONE (-29) M STATE VECTOR 030176,000356: # VONE (-7) M/CS STATE VECTOR 030177,000357: # RPADTEM (-29) M EARTH RADIUS OF LAUNCH PAD OR LUNAR LANDING 030178,000358: # (-27) M MOON SITE. 030179,000359: # HPERMIN (-29) M EARTH (300 OR 35) KFT MINIMUM PERIGEE ALTITUDE 030180,000360: # (-27) M MOON ABOVE LAUNCH PAD OR LUNAR LANDING SITE. 030181,000361: # V82EMFLG (INT SW BIT) RESET FOR EARTH, SET FOR MOON. 030182,000362: 030183,000363: # DEBRIS: QPREG, PDL, S2 030184,000364: 030185,000365: # Page 727 030186,000366: 22,3551 COUNT* $$/SR30S 030187,000367: 030188,000368: 22,3551 44001 SR30.1 SETPD STQ # INITIALIZE PUSHDOWN LIST. 030189,000369: 22,3552 00001 0 030190,000370: 22,3553 00051 S2 030191,000371: # SR30.1 INPUT: RONE AT (-29)M EARTH/MOON 030192,000372: # VONE AT (-7)M/CS 030193,000373: # TFFCONMU, TFFRP/RA, CALCTPER, AND CALCTFF 030194,000374: # CALLS REQUIRE: 030195,000375: # EARTH CENTERED (NO RESCALING REQUIRED) 030196,000376: # RONE SCALED TO B-29 M 030197,000377: # VONE SCALED TO B-7 M/CS 030198,000378: # MOON CENTERED (RESCALING REQUIRED) 030199,000379: # RONE SCALED TO B-27 M 030200,000380: # VONE SCALED TO B-5 M/CS 030201,000381: 22,3554 77214 BOFF VLOAD 030202,000382: 22,3555 03755 V82EMFLG # OFF FOR EARTH, ON FOR MOON. 030203,000383: 22,3556 45565 TFFCALLS 030204,000384: 22,3557 02207 RONE 030205,000385: 22,3560 77752 VSL2 030206,000386: 22,3561 26207 STOVL RONE 030207,000387: 22,3562 02215 VONE 030208,000388: 22,3563 77752 VSL2 030209,000389: 22,3564 02215 STORE VONE 030210,000390: 22,3565 77624 TFFCALLS CALL 030211,000391: 22,3566 57362 TFFCONMU 030212,000392: 22,3567 77624 CALL # TFFRP/RA COMPUTES RAPO,RPER. 030213,000393: 22,3570 57430 TFFRP/RA 030214,000394: # RETURNS WITH RAPO IN D(MPAC). 030215,000395: 22,3571 77625 DSU 030216,000396: 22,3572 02203 RPADTEM 030217,000397: 22,3573 64414 BOFF SR2R # NEED HAPO AT (-29)M FOR DISPLAY. 030218,000398: # IF MOON CENTERED, RESCALE FROM (-27)M. 030219,000399: # IF EARTH CENTERED ALREADY AT (-29)M. 030220,000400: 22,3574 03755 V82EMFLG 030221,000401: 22,3575 45576 +1 030222,000402: 22,3576 77624 CALL # IF RAPO > MAXNM, SET RAPO =9999.9 NM. 030223,000403: 22,3577 45636 MAXCHK # OTHERWISE STORE (RAPO-RPADTEM) IN HAPO. 030224,000404: 22,3600 16120 STORHAPO STODL HAPOX 030225,000405: 22,3601 00017 RPER 030226,000406: 22,3602 77625 DSU 030227,000407: 22,3603 02203 RPADTEM # GIVES HPER AT (-29)M EARTH, (-27)M MOON. 030228,000408: 22,3604 00161 STORE MPAC +4 # SAVE THIS FOR COMPARISON TO HPERMIN. 030229,000409: 22,3605 64414 BOFF SR2R # NEED HPER AT (-29)M FOR DISPLAY. 030230,000410: # IF MOON CENTERED, RESCALE FROM (-27)M. 030231,000411: # IF EARTH CENTERED ALREADY AT (-29)M. 030232,000412: 22,3606 03755 V82EMFLG # OFF FOR EARTH, ON FOR MOON. 030233,000413: 22,3607 45610 +1 030234,000414: 22,3610 77624 CALL # IF HPER > MAXNM, SET HPER = 9999.9 NM. 030235,000415: 22,3611 45636 MAXCHK 030236,000416: # Page 728 030237,000417: 22,3612 16122 STORHPER STODL HPERX # STORE (RPER - RPADTEM) INTO HPERX. 030238,000418: 22,3613 00161 MPAC +4 030239,000419: 22,3614 51025 DSU BPL # HPERMIN AT (-29)M FOR EARTH, (-27)M MOON 030240,000420: 22,3615 02201 HPERMIN # IF HPER L/ HPERMIN (300 OR 35) KFT, 030241,000421: 22,3616 45622 DOTPER # THEN ZERO INTO -TPER. 030242,000422: 22,3617 52145 DLOAD GOTO # OTHERWISE CALCULATE TPER. 030243,000423: 22,3620 06524 HI6ZEROS 030244,000424: 22,3621 45626 SKIPTPER 030245,000425: 22,3622 45145 DOTPER DLOAD CALL 030246,000426: 22,3623 00017 RPER 030247,000427: 22,3624 57466 CALCTPER 030248,000428: 22,3625 77676 DCOMP # TPER IS PUT NEG INTO -TPER. 030249,000429: 22,3626 16143 SKIPTPER STODL -TPER 030250,000430: 22,3627 02201 HPERMIN # HPERMIN AT (-29)M FOR EARTH, (-27)M MOON 030251,000431: 22,3630 45015 DAD CALL 030252,000432: 22,3631 02203 RPADTEM # RPADTEM AT (-29)M FOR EARTH, (-27)M MOON 030253,000433: 22,3632 57471 CALCTFF # GIVES 59M59S FOR TFF IF HPER G/ 030254,000434: 22,3633 77676 DCOMP # HPERMIN + RPADTEM. (TPER WAS NON ZERO) 030255,000435: 22,3634 36141 STCALL TFF # OTHERWISE COMPUTES TFF. (GOTO) 030256,000436: 22,3635 00051 S2 030257,000437: 030258,000438: 22,3636 51025 MAXCHK DSU BPL # IF C(MPAC) > 9999.9 NM. MPAC = 9999.9 NM. 030259,000439: 22,3637 05646 MAXNM 030260,000440: 22,3640 45643 +3 # OTHERWISE C(MPAC) - B(MPAC). 030261,000441: 22,3641 43415 DAD RVQ 030262,000442: 22,3642 05646 MAXNM 030263,000443: 22,3643 43545 +3 DLOAD RVQ # (USED BY P30 -- P37 ALSO) 030264,000444: 22,3644 05646 MAXNM 030265,000445: 030266,000446: 22,3645 01065 05603 MAXNM 2OCT 0106505603 030267,000447: 030268,000448: # Page 729 030269,000449: 030270,000450: # *** END OF KILLING .055 *** End of include-file R30.agc. Parent file is MAIN.agc