Source Code

021780,000001: # Copyright: Public domain. 021781,000002: # Filename: R30.agc 021782,000003: # Purpose: Part of the source code for Colossus, build 249. 021783,000004: # It is part of the source code for the Command Module's (CM) 021784,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9. 021785,000006: # Assembler: yaYUL 021786,000007: # Reference: pp. 507-517 of 1701.pdf. 021787,000008: # Contact: Ron Burkey <info@sandroid.org>. 021788,000009: # Website: www.ibiblio.org/apollo. 021789,000010: # Mod history: 08/02/04 RSB. Adapted from corresponding Luminary131 file. 021790,000011: 021791,000012: # The contents of the "Colossus249" files, in general, are transcribed 021792,000013: # from a scanned document obtained from MIT's website, 021793,000014: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this 021794,000015: # document read, in part: 021795,000016: 021796,000017: # Assemble revision 249 of AGC program Colossus by NASA 021797,000018: # 2021111-041. October 28, 1968. 021798,000019: 021799,000020: # This AGC program shall also be referred to as 021800,000021: # Colossus 1A 021801,000022: 021802,000023: # Prepared by 021803,000024: # Massachusetts Institute of Technology 021804,000025: # 75 Cambridge Parkway 021805,000026: # Cambridge, Massachusetts 021806,000027: # under NASA contract NAS 9-4065. 021807,000028: 021808,000029: # Refer directly to the online document mentioned above for further information. 021809,000030: # Please report any errors (relative to 1701.pdf) to info@sandroid.org. 021810,000031: 021811,000032: # In some cases, where the source code for Luminary 131 overlaps that of 021812,000033: # Colossus 249, this code is instead copied from the corresponding Luminary 131 021813,000034: # source file, and then is proofed to incorporate any changes. 021814,000035: 021815,000036: # Page 507 021816,000037: # SUBROUTINE NAME: V82CALL 021817,000038: # MOD NO: 0 DATE: 16 FEB 67 021818,000039: # MOD BY: R. R. BAIRNSFATHER LOG SECTION: R30 021819,000040: # MOD NO: 1 MOD BY: R. R. BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN 021820,000041: # MOD NO: 2 MOD BY: ALONSO DATE: 11 DEC 67 VB82 PROGRAM REWRITTEN 021821,000042: # MOD NO: 3 MOD BY: ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE 021822,000043: 021823,000044: # NEW FUNCTIONAL DESCRIPTION: CALLED BY VERB 82 ENTER. PRIORITY 10. 021824,000045: # USED THROUGHOUT. CALCULATE AND DISPLAY ORBITAL PARAMETERS 021825,000046: 021826,000047: # 1. IF AVERAGE G IS OFF: 021827,000048: # FLASH DISPLAY V04N06. R2 INDICATES WHICH SHIP'S STATE VECTOR IS 021828,000049: # TO BE UPDATED. INITIAL CHOICE IS THIS SHIP (R2-1). ASTRONAUT 021829,000050: # CAN CHANGE TO OTHER SHIP BY V22EXE. WHERE X IS NOT EQ 1. 021830,000051: # SELECTED STATE VECTOR UPDATED BY THISPREC (OTHPREC). 021831,000052: # CALLS SR30.1 (WHICH CALLS TFFCONMU + TFFRP/RA) TO CALCULATE 021832,000053: # RPER (PERIGEE RADIUS), RAPO (APOGEE RADIUS), HPER (PERIGEE 021833,000054: # HEIGHT ABOVE LAUNCH PAD OR LAUNAR LANDING SITE), HARD (APOGEE 021834,000055: # HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), TFF (TIME TO 021835,000056: # INTERSECT 300 KFT ABOVE PAD OR 36KFT ABOVE LANDING SITE). 021836,000057: # FLASH MONITOR V16N44 (HAPO, HPER, TFF). TFF IS -59MS59S IF IT WAS 021837,000058: # NOT COMPUTABLE, OTHERWISE IT INCREMENTS ONCE PER SECOND. 021838,000059: # ASTRONAUT HAS OPTION TO MONITOR TPER BY KING IN N 32 E. 021839,000060: # DISPLAY IS IN HMS, IS NEGATIVE (AS WAS TFF), AND INCREMENTS 021840,000061: # ONCE PER SECOND ONLY IF TFF DISPLAY WAS -59M59S. 021841,000062: # 2. IF AVERAGE G IS ON: 021842,000063: # CALLS SR30.1 APPROX EVERY TWO SECS. STATE VECTOR IS ALWAYS 021843,000064: # FOR THIS VEHICLE. V82 DOES NOT DISTURB STATE VECTOR. RESULTS 021844,000065: # OF SR30.1 ARE RAPO, RPER, HAPO, HPER, TPER, TFF. 021845,000066: # FLASH MONITOR V16N44 (HAPO, HPER, TFF). 021846,000067: # IF MODE IS P11, THEN CALL DELRSPL SO ASTRONAUT CAN MONITOR 021847,000068: # RESULTS BY N50E. SPLASH COMPUTATION DONE ONCE FOR TWO SECS. 021848,000069: # ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE 021849,000070: # ABOVE REMARKS. 021850,000071: 021851,000072: # CALLING SEQUENCE: VERB 82 ENTER. 021852,000073: 021853,000074: # SUBROUTINES CALLED: SR30.1, GOXDSPF 021854,000075: # MAYBE -- THISPREC, OTHPREC, LOADTIME, DELRSPL 021855,000076: 021856,000077: # NORMAL EXIT MODES: TC ENDEXT 021857,000078: 021858,000079: # ALARMS: NONE 021859,000080: 021860,000081: # OUTPUT: HAPOX (-29) M 021861,000082: # HPERX (-29) M 021862,000083: # RAPO (-29) M EARTH 021863,000084: # (-27) M MOON 021864,000085: # Page 508 021865,000086: # RPER (-29) M EARTH 021866,000087: # (-27) M MOON 021867,000088: # TFF (-28) CS CONTAINS NEGATIVE QUANTITY 021868,000089: # -TPER (-28) CS CONTAINS NEGATIVE QUANTITY 021869,000090: # RSP-RREC(-29) M IF DELRSPL CALLED 021870,000091: 021871,000092: # ERASABLE INITIALIZATION REQUIRED: STATE VECTOR. 021872,000093: 021873,000094: # DEBRIS: QPRET, RONE, VONE, TFF/RTMU, HPERMIN, RPADTEM, V82EMFLG. 021874,000095: # MAYBE: TSTART82, V82FLAGS, TDEC1. 021875,000096: 021876,000097: 13,2176 E4,1751 EBANK= HAPOX 021877,000098: 31,2021 BANK 31 021878,000099: 23,2000 SETLOC R30LOC 021879,000100: 23,2000 BANK 021880,000101: 23,2332 COUNT* $$/R30 021881,000102: 021882,000103: 23,2332 06006 V82CALL TC INTPRET 021883,000104: 23,2333 52014 BON GOTO 021884,000105: 23,2334 00716 AVEGFLAG 021885,000106: 23,2335 46566 V82GON # IF AVERAGE G ON 021886,000107: 23,2336 46337 V82GOFF # IF AVERAGE G OFF 021887,000108: 021888,000109: 23,2337 77776 V82GOFF EXIT # ALLOW ASTRONAUT TO SELECT VEHICLE 021889,000110: 23,2340 34711 CAF TWO # DESIRED FOR ORBITAL PARAMETERS 021890,000111: 23,2341 55051 TS OPTIONX 021891,000112: 23,2342 34712 CAF ONE 021892,000113: 23,2343 55052 TS OPTIONX +1 021893,000114: 23,2344 32406 CAF OPTIONVN # V 04 N 06 021894,000115: 23,2345 04555 TC BANKCALL 021895,000116: 23,2346 20465 CADR GOXDSPF 021896,000117: 23,2347 05423 TC ENDEXT # TERMINATE 021897,000118: 23,2350 02352 TC +2 # PROCEED 021898,000119: 23,2351 02344 TC -5 # DATA IN. OPTION1+1 = 1 FOR THIS VEHICLE 021899,000120: # UNEQ 1 FOR OTHER VEHICLE 021900,000121: 23,2352 34707 CAF BIT4 # 80 MS 021901,000122: 23,2353 05140 TC WAITLIST 021902,000123: 23,2354 E4,1743 EBANK= TFF 021903,000124: 23,2354 02531 46064 2CADR TICKTEST 021904,000125: 021905,000126: 23,2356 00003 RELINT 021906,000127: 23,2357 32410 V82GOFLP CAF TFFBANK # MAJOR RECYCLE LOOP ENTRY 021907,000128: 23,2360 54003 TS EBANK 021908,000129: 23,2361 34714 CAF ZERO 021909,000130: 23,2362 55742 TS V82FLAGS # ZERO FLAGS FOR TICKTEST, INHIBITS 021910,000131: # DECREMENTING OF TFF AND -TPER. 021911,000132: 23,2363 34756 CAF PRIO7 021912,000133: 23,2364 05042 TC FINDVAC # V82GOFF1 WILL EXECUTE STATE VECTOR 021913,000134: # Page 509 021914,000135: 23,2365 E4,1743 EBANK= TFF # UPDATE AND ORBIT CALCULATIONS FOR 021915,000136: 23,2365 02411 46064 2CADR V82GOFF1 # SELECTED VEHICLE ABOUT PROPER BODY. 021916,000137: 021917,000138: 23,2367 00003 RELINT 021918,000139: 23,2370 36214 V82STALL CAF THREE # STALL IN THIS LOOP AND WITHOLD V 16 N 44 021919,000140: 23,2371 71742 MASK V82FLAGS # UNTIL STATE VECTOR UPDATE SETS ONE OF 021920,000141: 23,2372 10000 CCS A # OUR FLAG BITS. 021921,000142: 23,2373 02400 TC FLAGGON # EXIT FROM STALL LOOP. 021922,000143: 23,2374 34734 CAF 1SEC 021923,000144: 23,2375 04555 TC BANKCALL 021924,000145: 23,2376 01732 CADR DELAYJOB 021925,000146: 23,2377 02370 TC V82STALL 021926,000147: 021927,000148: 23,2400 32407 FLAGGON CAF V16N44 # MONITOR HAPO,HPER,TFF. 021928,000149: 23,2401 04555 TC BANKCALL 021929,000150: 23,2402 20465 CADR GOXDSPF 021930,000151: 23,2403 05514 TC B5OFF # TERM. THIS TELLS TICKTEST TO KILL ITSELF 021931,000152: 23,2404 05514 TC B5OFF # PROCEED. DITTO 021932,000153: 23,2405 02357 TC V82GOFLP # RECYCLE. RECOMPUTE STATE VECT + DISPLAY 021933,000154: 021934,000155: 23,2406 01014 OPTIONVN VN 0412 021935,000156: 23,2407 04054 V16N44 VN 1644 021936,000157: 23,2410 02343 TFFBANK ECADR TFF 021937,000158: 021938,000159: 23,2411 06006 V82GOFF1 TC INTPRET 021939,000160: 23,2412 77634 RTB 021940,000161: 23,2413 45505 LOADTIME 021941,000162: 23,2414 00041 STORE TDEC1 # TIME FOR STATE VECTOR UPDATE. 021942,000163: 23,2415 02325 STORE TSTART82 # TIME FOR INTERNAL USE. 021943,000164: 23,2416 77776 EXIT 021944,000165: 23,2417 41052 CS OPTIONX +1 # 1 FOR THIS VEHICLE, NOT 1 FOR OTHER. 021945,000166: 23,2420 64712 AD ONE 021946,000167: 23,2421 00006 EXTEND 021947,000168: 23,2422 12446 BZF THISSHIP 021948,000169: 23,2423 06006 OTHSHIP TC INTPRET 021949,000170: 23,2424 77624 CALL # CALL STATE VECTOR UPDATE FOR OTHER SHIP. 021950,000171: 23,2425 27036 OTHPREC 021951,000172: 23,2426 77775 BOTHSHIP VLOAD # MOVE RESULTS INTO TFFCONIC STORAGE AREAS 021952,000173: 23,2427 00001 RATT # TO BE CALLED BY SR30.1. 021953,000174: 23,2430 26327 STOVL RONE # RATT AT (-29)M FOR EARTH OR MOON. 021954,000175: 23,2431 00007 VATT 021955,000176: 23,2432 02335 STORE VONE # VATT AT (-7)M/CS FOR EARTH OR MOON 021956,000177: 23,2433 77743 DLOAD* 021957,000178: 23,2434 71321 1/RTMUE,2 # X2 IS 0 FOR EARTH CENTERED STATE VEC 021958,000179: 23,2435 00037 STORE TFF/RTMU # X2 IS 2 FOR MOON 021959,000180: 23,2436 77743 DLOAD* # AS LEFT BY THISPREC OR OTHPREC. 021960,000181: 23,2437 71315 MINPERE,2 021961,000182: 23,2440 02321 STORE HPERMIN # TFFRTMU, HPERMIN, AND RPADTEM ARE ALL 021962,000183: 23,2441 46135 SLOAD BHIZ # EARTH/MOON PARAMETERS AS SET HERE. 021963,000184: # Page 510 021964,000185: 23,2442 00050 X2 021965,000186: 23,2443 46463 EARTHPAD 021966,000187: 23,2444 77650 GOTO 021967,000188: 23,2445 46467 MOONPAD 021968,000189: 23,2446 06006 THISSHIP TC INTPRET 021969,000190: 23,2447 77624 CALL # CALL STATE VECTOR UPDATE FOR THIS SHIP. 021970,000191: 23,2450 27022 THISPREC 021971,000192: 23,2451 77650 GOTO 021972,000193: 23,2452 46426 BOTHSHIP 021973,000194: 021974,000195: # THE FOLLOWING CONSTANTS ARE PAIRWISE INDEXED. DO NOT SEPARATE PAIRS. 021975,000196: 021976,000197: 23,2453 27533 07571 1/RTMUM 2DEC* .45162595 E-4 B14* 021977,000198: 23,2455 25004 06702 1/RTMUE 2DEC* .50087529 E-5 B17* 021978,000199: 021979,000200: 23,2457 00001 11530 MINPERM 2DEC 10668 B-27 # 35 KFT MIN PERIGEE HEIGHT FOR MOON(-29)M 021980,000201: 23,2461 00002 31230 MINPERE 2DEC 91440 B-29 # 300 KFT (-29)M FOR EARTH 021981,000202: 021982,000203: 23,2463 43145 EARTHPAD DLOAD CLRGO # PAD 37-B RADIUS. SCALED AT (-29)M 021983,000204: 23,2464 05311 RPAD 021984,000205: 23,2465 04622 V82EMFLG # INDICATE EARTH SCALING FOR SR30.1 021985,000206: 23,2466 46473 BOTHPAD 021986,000207: 021987,000208: 23,2467 51575 MOONPAD VLOAD ABVAL # COMPUTE MOON PAD RADIUS FROM RLS VECTOR. 021988,000209: 23,2470 02026 RLS # SCALED AT (-27)M 021989,000210: 23,2471 77614 SET 021990,000211: 23,2472 04462 V82EMFLG # INDICATE MOON SCALING FOR SR30.1 021991,000212: 23,2473 36323 BOTHPAD STCALL RPADTEM 021992,000213: 23,2474 46667 SR30.1 # CALCULATE ORBITAL PARAMETERS 021993,000214: 23,2475 77776 EXIT 021994,000215: 23,2476 31011 CA MODREG # ARE WE IN P00 021995,000216: 23,2477 00006 EXTEND 021996,000217: 23,2500 12645 BZF CANDEL # YES, DO DELRSPL 021997,000218: 23,2501 06006 SPLRET1 TC INTPRET 021998,000219: 23,2502 45234 RTB DSU 021999,000220: 23,2503 45505 LOADTIME 022000,000221: 23,2504 02325 TSTART82 # PRESENT TIME -- TIME V82GOFF1 BEGAN 022001,000222: 23,2505 02325 STORE TSTART82 # SAVE IT 022002,000223: 23,2506 53145 DLOAD BZE # SR30.1 SETS -TPER=0 IF HPER L/ 022003,000224: 23,2507 02346 -TPER # HPERMIN (300 OR 35) KFT. 022004,000225: 23,2510 46521 TICKTFF # (-TPER = 0) 022005,000226: 23,2511 43345 TICKTPER DLOAD DAD # (-TPER NON ZERO) TFF WAS NOT COMPUTED. 022006,000227: 23,2512 02346 -TPER # BUT WAS SET TO 59M59S. DON'T DICK TFF, DO 022007,000228: 23,2513 02325 TSTART82 # TICK -TPER. DISPLAY BOTH. 022008,000229: 23,2514 02346 STORE -TPER 022009,000230: 23,2515 77776 EXIT 022010,000231: 022011,000232: # Page 511 022012,000233: 23,2516 34712 CAF BIT1 022013,000234: 23,2517 55742 TS V82FLAGS # INFORMS TICKTEST TO INCREMENT ONLY -TPER 022014,000235: 23,2520 05112 TC ENDOFJOB 022015,000236: 022016,000237: 23,2521 43345 TICKTFF DLOAD DAD # (-TPER=0) TFF WAS COMPUTED. TICK TFF. 022017,000238: 23,2522 02344 TFF # DO NOT TICK -TPER. DISPLAY TFF, BUT NOT 022018,000239: 23,2523 02325 TSTART82 # -TPER 022019,000240: 23,2524 02344 STORE TFF # TFF CORRECTED FOR TIME SINCE V82GOFF1 022020,000241: 23,2525 77776 EXIT # BEGAN. 022021,000242: 23,2526 34711 CAF BIT2 022022,000243: 23,2527 55742 TS V82FLAGS # INFORMS TICKTEST TO INCREMENT ONLY TFF. 022023,000244: 23,2530 05112 TC ENDOFJOB 022024,000245: 022025,000246: 23,2531 34706 TICKTEST CAF BIT5 # THIS WAITLIST PROGRAM PERPETUATES ITSELF 022026,000247: 23,2532 71044 MASK EXTVBACT # ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0. 022027,000248: 23,2533 10000 CCS A 022028,000249: 23,2534 02542 TC DOTICK 022029,000250: 23,2535 37662 CAF PRIO25 022030,000251: 23,2536 05027 TC NOVAC # TERMINATE V 82. CAN'T CALL ENDEXT IN RUPT. 022031,000252: 23,2537 1044 EBANK= EXTVBACT 022032,000253: 23,2537 05423 04062 2CADR ENDEXT 022033,000254: 022034,000255: 23,2541 05213 TC TASKOVER 022035,000256: 23,2542 34734 DOTICK CAF 1SEC # RE-REQUEST TICKTEST. 022036,000257: 23,2543 05140 TC WAITLIST 022037,000258: 23,2544 E4,1743 EBANK= TFF 022038,000259: 23,2544 02531 46064 2CADR TICKTEST 022039,000260: 022040,000261: 23,2546 36214 CAF THREE 022041,000262: 23,2547 71742 MASK V82FLAGS 022042,000263: 23,2550 50000 INDEX A 022043,000264: 23,2551 02552 TC +1 022044,000265: 23,2552 05213 TC TASKOVER # IF NO FLAGBITS SET DONT' CHANGE TFF OR 022045,000266: # -TPER, BUT CONTINUE LOOP. 022046,000267: 23,2553 02561 TC TPERTICK # ONLY BIT 1 SET. INCR -TPER BY 1 SEC. 022047,000268: 23,2554 34734 TFFTICK CAF 1SEC # ONLY BIT 2 SET. INCR TFF BY 1 SEC. 022048,000269: 23,2555 54001 TS L 022049,000270: 23,2556 34714 CAF ZERO 022050,000271: 23,2557 21744 DAS TFF 022051,000272: 23,2560 05213 TC TASKOVER 022052,000273: 23,2561 34734 TPERTICK CAF 1SEC 022053,000274: 23,2562 54001 TS L 022054,000275: 23,2563 34714 CAF ZERO 022055,000276: 23,2564 21746 DAS -TPER 022056,000277: 23,2565 05213 TC TASKOVER 022057,000278: 022058,000279: # Page 512 022059,000280: 23,2566 77776 V82GON EXIT # AVERAGE G ON. USE CURRENT STATE VECTOR 022060,000281: # FOR ORBITAL PARAMETER CALCULATIONS. 022061,000282: 23,2567 34756 CAF PRIO7 # LESS THAN LAMBERT 022062,000283: 23,2570 05042 TC FINDVAC # V82GON1 WILL PERFORM ORBIT CALCULATIONS 022063,000284: 23,2571 E4,1743 EBANK= TFF # ABOUT PROPER BODY APPROX ONCE PER SEC. 022064,000285: 23,2571 02604 46064 2CADR V82GON1 022065,000286: 022066,000287: 23,2573 00003 RELINT 022067,000288: 23,2574 10067 CCS NEWJOB # WITHOLD V16 N44 UNTIL FIRST ORBIT CALC 022068,000289: 23,2575 05057 TC CHANG1 # IS DONE. NOTE: V82GON1 (PRIO7, FINDVAC 022069,000290: # JOB) IS COMPLETED BEFORE V82GON (PRIO7, 022070,000291: # NOVAC JOB). 022071,000292: 23,2576 32407 V82REDSP CAF V16N44 # MONITOR HAPO, HPER, TFF 022072,000293: 23,2577 04555 TC BANKCALL 022073,000294: 23,2600 20465 CADR GOXDSPF 022074,000295: 23,2601 05514 TC B5OFF # TERM THIS TELLS V82GON1 TO KILL ITSELF. 022075,000296: 23,2602 05514 TC B5OFF # PROC DITTO. 022076,000297: 23,2603 02576 TC V82REDSP # RECYCLE 022077,000298: 022078,000299: 23,2604 06006 V82GON1 TC INTPRET # THIS EXEC PROGRAM PERPETUATES ITSELF 022079,000300: # ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0. 022080,000301: 23,2605 52175 VLOAD GOTO # HOLDS OFF CCS NEWJOB BETWEEN RN AND 022081,000302: 23,2606 01171 RN # VN FETCH SO RN, VN ARE FROM SAME 022082,000303: 23,2607 46610 NEXTLINE # STATE VECTOR UPDATE. 022083,000304: 23,2610 26327 NEXTLINE STOVL RONE # RN AT (-29)M FOR EARTH OR MOON 022084,000305: 23,2611 01177 VN 022085,000306: 23,2612 02335 STORE VONE # VN AT (-7)M/CS FOR EARTH OR MOON 022086,000307: 23,2613 52014 BON GOTO 022087,000308: 23,2614 04303 MOONTHIS # FLAG INDICATES BODY ABOUT WHICH ORBITAL 022088,000309: 23,2615 46617 MOONGON # CALCULATIONS ARE TO BE PERFORMED. 022089,000310: 23,2616 46630 EARTHGON # IF SET -- MOON, IF RESET --EARTH. 022090,000311: 022091,000312: 23,2617 71214 MOONGON SET DLOAD 022092,000313: 23,2620 04462 V82EMFLG # FLAG INDICATES BODY ABOUT WHICH ORBITAL 022093,000314: 23,2621 06454 1/RTMUM # LUNAR PARAMETERS LOADED HERE FOR SR30.1 022094,000315: 23,2622 14037 STODL TFF/RTMU 022095,000316: 23,2623 06460 MINPERM 022096,000317: 23,2624 26321 STOVL HPERMIN 022097,000318: 23,2625 02026 RLS # SCALED AT (-27)M 022098,000319: 23,2626 52046 ABVAL GOTO 022099,000320: 23,2627 46637 V82GON2 022100,000321: 23,2630 71214 EARTHGON CLEAR DLOAD 022101,000322: 23,2631 04662 V82EMFLG # INDICATE EARTH SCALING FOR SR30.1 022102,000323: 23,2632 06456 1/RTMUE # EARTH PARAMETERS LOADED HERE FOR SR30.1 022103,000324: 23,2633 14037 STODL TFF/RTMU 022104,000325: 23,2634 06462 MINPERE 022105,000326: 23,2635 16321 STODL HPERMIN 022106,000327: 23,2636 05311 RPAD 022107,000328: 23,2637 36323 V82GON2 STCALL RPADTEM # COMMON CODE FOR EARTH & MOON. 022108,000329: 23,2640 46667 SR30.1 022109,000330: # Page 513 022110,000331: 23,2641 77776 EXIT 022111,000332: 23,2642 05253 TC CHECKMM 022112,000333: 23,2643 00013 DEC 11 B-14 022113,000334: 23,2644 02657 TC V82GON3 # NOT IN MODE 11. 022114,000335: 23,2645 06006 CANDEL TC INTPRET # IN MODE 11 OR 00 022115,000336: 23,2646 77624 CALL 022116,000337: 23,2647 27371 INTSTALL # DELRSPL DOES INTWAKE 022117,000338: 23,2650 45145 DLOAD CALL 022118,000339: 23,2651 02344 TFF 022119,000340: 23,2652 64017 DELRSPL # RETURN IS TO NEXT LINE (SPLRET). 022120,000341: 23,2653 77776 SPLRET EXIT 022121,000342: 022122,000343: 23,2654 31011 CA MODREG 022123,000344: 23,2655 00006 EXTEND 022124,000345: 23,2656 12501 BZF SPLRET1 022125,000346: 23,2657 34706 V82GON3 CAF BIT5 022126,000347: 23,2660 71044 MASK EXTVBACT # SEE IF ASTRONAUT HAS SIGNALLED TERMINATE 022127,000348: 23,2661 00006 EXTEND 022128,000349: 23,2662 15423 BZF ENDEXT # YES, TERMINATE VB 82 LOOP 022129,000350: 23,2663 34734 CAF 1SEC 022130,000351: 23,2664 04555 TC BANKCALL # WAIT ONE SECOND BEFORE REPEATING 022131,000352: 23,2665 01732 CADR DELAYJOB # ORBITAL PARAMETER COMPUTATION. 022132,000353: 23,2666 02604 TC V82GON1 022133,000354: 022134,000355: # Page 514 022135,000356: # SUBROUTINE NAME: SR30.1 022136,000357: # MOD NO: 0 DATE: 16 FEB 67 022137,000358: # MOD BY: R. R. BAIRNSFATHER LOG SECTION: R32 022138,000359: # MOD NO: 1 MOD BY: R. R. BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN 022139,000360: # MOD NO: 2 MOD BY: R. R. BAIRNSFATHER DATE: 14 APR 67 ADD OVFL CK FOR RAPO 022140,000361: # MOD NO: 3 MOD BY ALONSO DATE: 11 DEC 67 SUBROUTINE REWRITTEN 022141,000362: # MOD NO: 4 MOD BY ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE 022142,000363: # MOD NO: 5 MOD BY: R. R. BAIRNSFATHER DATE: 6 AUG 68 OVFL CK FOR HAPO & HPER. VOIDS MOD #2. 022143,000364: 022144,000365: # NEW FUNCTIONAL DESCRIPTION: ORBITAL PARAMETERS DISPLAY FOR NOUNS 32 AND 44. 022145,000366: # SR30.1 CALLS TFFCONMU AND TFFRP/RA TO CALCULATE RPER (PERIGEE RADIUS), 022146,000367: # RAPO (APOGEE RADIUS), HPER (PERIGEE HEIGHT ABOVE LAUNCH PAD OR LUNAR 022147,000368: # LANDING SITE), HAPO (APOGEE HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), 022148,000369: # TFF (TIME TO INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE). 022149,000370: # IF HPER IS GREATER THAN OR EQUAL TO HPERMIN, CALCULATES TPER AND STORES 022150,000371: # NEGATIVE. IN -TPER. OTHERWISE STORES +0 IN -TPER. WHENEVER TPER IS 022151,000372: # CALCULATED, TFF IS NOT COMPUTABLE AND DEFAULTS TO -59MIN 59SEC. IF HAPO 022152,000373: # WOULD EXCEED 9999.9 NM, IT IS LIMITED TO THAT VALUE FOR DISPLAY. 022153,000374: 022154,000375: # ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE 022155,000376: # ABOVE REMARKS. 022156,000377: 022157,000378: # CALLING SEQUENCE: CALL 022158,000379: # SR30.1 022159,000380: 022160,000381: # SUBROUTINES CALLED: TFFCONMU, TFFRP/RA, CALCTPER, CALCTFF 022161,000382: 022162,000383: # NORMAL EXIT MODE: CALLING LINE +1 (STILL IN INTERPRETIVE MODE) 022163,000384: 022164,000385: # ALARMS: NONE 022165,000386: 022166,000387: # OUTPUT: RAPO (-29) M EARTH APOGEE RADIUS EARTH CENTERED COORD. 022167,000388: # (-27) M MOON MOON CENTERED COORD. 022168,000389: # RPER (-29) M EARTH PERIGEE RADIUS EARTH CENTERED COORD. 022169,000390: # (-27) M MOON MOON CENTERED COORD. 022170,000391: # HAPOX (-29) M APOGEE ALTITUDE ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM. 022171,000392: # HPERX (-29) M PERIGEE ALT. ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM. 022172,000393: # TFF (-28) CS TIME TO 300KFT OR 35KFT ALTITUDE 022173,000394: # -TPER (-28) CS TIME TO PERIGEE 022174,000395: 022175,000396: # ERASABLE INITIALIZATION REQUIRED -- 022176,000397: # TFF/RTMU (+17) EARTH RECIPROCAL OF PROPER GRAV CONSTANT FOR 022177,000398: # (+14) MOON EARTH OR MOON = 1/SQRT(MU). 022178,000399: # RONE (-29) M STATE VECTOR 022179,000400: # VONE (-7) M/CS STATE VECTOR 022180,000401: # RPADTEM (-29) M EARTH RADIUS OF LAUNCH PAD OR LUNAR LANDING 022181,000402: # (-27) M MOON SITE. 022182,000403: # HPERMIN (-29) M EARTH (300 OR 35) KFT MINIMUM PERIGEE ALTITUDE 022183,000404: # (-27) M MOON ABOVE LAUNCH PAD OR LUNAR LANDING SITE. 022184,000405: # V82EMFLG (INT SW BIT) RESET FOR EARTH, SET FOR MOON. 022185,000406: 022186,000407: # DEBRIS: QPREG, PDL, S2 022187,000408: 022188,000409: # Page 515 022189,000410: 23,2667 COUNT* $$/SR30S 022190,000411: 022191,000412: 23,2667 44001 SR30.1 SETPD STQ # INITIALIZE PUSHDOWN LIST. 022192,000413: 23,2670 00001 0 022193,000414: 23,2671 00051 S2 022194,000415: # SR30.1 INPUT: RONE AT (-29)M EARTH/MOON 022195,000416: # VONE AT (-7)M/CS 022196,000417: # TFFCONMU, TFFRP/RA, CALCTPER, AND CALCTFF 022197,000418: # CALLS REQUIRE: 022198,000419: # EARTH CENTERED (NO RESCALING REQUIRED) 022199,000420: # RONE SCALED TO B-29 M 022200,000421: # VONE SCALED TO B-7 M/CS 022201,000422: # MOON CENTERED (RESCALING REQUIRED) 022202,000423: # RONE SCALED TO B-27 M 022203,000424: # VONE SCALED TO B-5 M/CS 022204,000425: 23,2672 77214 BOFF VLOAD 022205,000426: 23,2673 04742 V82EMFLG # OFF FOR EARTH, ON FOR MOON. 022206,000427: 23,2674 46703 TFFCALLS 022207,000428: 23,2675 02327 RONE 022208,000429: 23,2676 77752 VSL2 022209,000430: 23,2677 26327 STOVL RONE 022210,000431: 23,2700 02335 VONE 022211,000432: 23,2701 77752 VSL2 022212,000433: 23,2702 02335 STORE VONE 022213,000434: 23,2703 77624 TFFCALLS CALL 022214,000435: 23,2704 56751 TFFCONMU 022215,000436: 23,2705 77624 CALL # TFFRP/RA COMPUTES RAPO,RPER. 022216,000437: 23,2706 57017 TFFRP/RA 022217,000438: # RETURNS WITH RAPO IN D(MPAC). 022218,000439: 23,2707 77625 DSU 022219,000440: 23,2710 02323 RPADTEM 022220,000441: 23,2711 64414 BOFF SR2R # NEED HAPO AT (-29)M FOR DISPLAY. 022221,000442: # IF MOON CENTERED, RESCALE FROM (-27)M. 022222,000443: # IF EARTH CENTERED ALREADY AT (-29)M. 022223,000444: 23,2712 04742 V82EMFLG 022224,000445: 23,2713 46714 +1 022225,000446: 23,2714 77624 CALL # IF RAPO > MAXNM, SET RAPO =9999.9 NM. 022226,000447: 23,2715 46754 MAXCHK # OTHERWISE STORE (RAPO-RPADTEM) IN HAPO. 022227,000448: 23,2716 16352 STORHAPO STODL HAPOX 022228,000449: 23,2717 00017 RPER 022229,000450: 23,2720 77625 DSU 022230,000451: 23,2721 02323 RPADTEM # GIVES HPER AT (-29)M EARTH, (-27)M MOON. 022231,000452: 23,2722 00161 STORE MPAC +4 # SAVE THIS FOR COMPARISON TO HPERMIN. 022232,000453: 23,2723 64414 BOFF SR2R # NEED HPER AT (-29)M FOR DISPLAY. 022233,000454: # IF MOON CENTERED, RESCALE FROM (-27)M. 022234,000455: # IF EARTH CENTERED ALREADY AT (-29)M. 022235,000456: 23,2724 04742 V82EMFLG # OFF FOR EARTH, ON FOR MOON. 022236,000457: 23,2725 46726 +1 022237,000458: 23,2726 77624 CALL # IF HPER > MAXNM, SET HPER = 9999.9 NM. 022238,000459: 23,2727 46754 MAXCHK 022239,000460: # Page 516 022240,000461: 23,2730 16354 STORHPER STODL HPERX # STORE (RPER - RPADTEM) INTO HPERX. 022241,000462: 23,2731 00161 MPAC +4 022242,000463: 23,2732 51025 DSU BPL # HPERMIN AT (-29)M FOR EARTH, (-27)M MOON 022243,000464: 23,2733 02321 HPERMIN # IF HPER L/ HPERMIN (300 OR 35) KFT, 022244,000465: 23,2734 46740 DOTPER # THEN ZERO INTO -TPER. 022245,000466: 23,2735 52145 DLOAD GOTO # OTHERWISE CALCULATE TPER. 022246,000467: 23,2736 15332 HI6ZEROS 022247,000468: 23,2737 46744 SKIPTPER 022248,000469: 23,2740 45145 DOTPER DLOAD CALL 022249,000470: 23,2741 00017 RPER 022250,000471: 23,2742 57055 CALCTPER 022251,000472: 23,2743 77676 DCOMP # TPER IS PUT NEG INTO -TPER. 022252,000473: 23,2744 16346 SKIPTPER STODL -TPER 022253,000474: 23,2745 02321 HPERMIN # HPERMIN AT (-29)M FOR EARTH, (-27)M MOON 022254,000475: 23,2746 45015 DAD CALL 022255,000476: 23,2747 02323 RPADTEM # RPADTEM AT (-29)M FOR EARTH, (-27)M MOON 022256,000477: 23,2750 57060 CALCTFF # GIVES 59M59S FOR TFF IF HPER G/ 022257,000478: 23,2751 77676 DCOMP # HPERMIN + RPADTEM. (TPER WAS NON ZERO) 022258,000479: 23,2752 36344 STCALL TFF # OTHERWISE COMPUTES TFF. (GOTO) 022259,000480: 23,2753 00051 S2 022260,000481: 022261,000482: 23,2754 51025 MAXCHK DSU BPL # IF C(MPAC) > 9999.9 NM. MPAC = 9999.9 NM. 022262,000483: 23,2755 06764 MAXNM 022263,000484: 23,2756 46761 +3 # OTHERWISE C(MPAC) - B(MPAC). 022264,000485: 23,2757 43415 DAD RVQ 022265,000486: 23,2760 06764 MAXNM 022266,000487: 23,2761 43545 +3 DLOAD RVQ # (USED BY P30 -- P37 ALSO) 022267,000488: 23,2762 06764 MAXNM 022268,000489: 022269,000490: 23,2763 01065 05603 MAXNM 2OCT 0106505603 022270,000491: 022271,000492: # Page 517 022272,000493: 022273,000494: # There is no source code on this page --- RSB 2004 022274,000495: 022275,000496: 022276,000497: 022277,000498: End of include-file R30.agc. Parent file is MAIN.agc