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