Source Code

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