Source Code
|
These source-code files are part of a reconstructed copy of Artemis 071, the
first release of the Apollo 15 through 17 Command Module (CM) Apollo Guidance
Computer (AGC) software.
The reconstruction began with source code of Artemis 072 previously transcribed from a digitized copy of that program. The code was then updated by undoing changes between the two versions. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021154-. Note that page numbers in the reconstructed code match those on the Artemis 072 printout, although the changed code would likely have changed page numbers for a real Artemis 071 listing. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
022609,000002: ## Copyright: Public domain.
022610,000003: ## Filename: R30.agc
022611,000004: ## Purpose: A section of Artemis revision 071.
022612,000005: ## It is part of the reconstructed source code for the first
022613,000006: ## release of the flight software for the Command Module's
022614,000007: ## (CM) Apollo Guidance Computer (AGC) for Apollo 15 through
022615,000008: ## 17. The code has been recreated from a copy of Artemis 072.
022616,000009: ## It has been adapted such that the resulting bugger words
022617,000010: ## exactly match those specified for Artemis 071 in NASA
022618,000011: ## drawing 2021154-, which gives relatively high confidence
022619,000012: ## that the reconstruction is correct.
022620,000013: ## Reference: 516
022621,000014: ## Assembler: yaYUL
022622,000015: ## Contact: Ron Burkey <info@sandroid.org>.
022623,000016: ## Website: www.ibiblio.org/apollo/index.html
022624,000017: ## Mod history: 2019-08-14 MAS Created from Artemis 072.
022625,000018:
|
Page 516 |
022627,000020: # SUBROUTINE NAME: V82CALL
022628,000021: # MOD NO: 0 DATE: 16 FEB 67
022629,000022: # MOD BY: RR BAIRNSFATHER LOG SECTION: R30
022630,000023: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN
022631,000024: # MOD NO: 2 MOD BY ALONSO DATE : 11 DEC 67 VB82 PROGRAM REWRITTEN
022632,000025: # MOD NO: 3 MOD BY ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE
022633,000026: # MOD NO- 4 MOD BY CROCKER DATE- 27 AUG 69 PROG MOD FOR TIME OPTION.
022634,000027: # NEW FUNCTIONAL DESCRIPTION- CALLED BY VERB 82 ENTER. PRIORITY 7
022635,000028: # USED THROUGHOUT. CALCULATE AND DISPLAY ORBITAL PARAMETERS
022636,000029:
022637,000030: # 1. IF AVERAGE G IS OFF:
022638,000031: # FLASH DISPLAY V04N12. R2 INDICATES WHICH SHIP'S STATE VECTOR IS
022639,000032: # TO BE UPDATED. INITIAL CHOICE IS THIS SHIP (R2=1). ASTRONAUT
022640,000033: # CAN CHANGE TO OTHER SHIP BY V22EXE, WHERE X NOT EQ 1.
022641,000034: # FLASH DISPLAY TIME V06N16. INITIAL CHOICE = 0 = PRESENT TIME.
022642,000035: # ASTRONAUT CAN INSERT A TIME BY V25E, R1=HR R2=MIN R3=CSEC.
022643,000036: # CHOSEN STATE VECTOR UPDATED TO CHOSEN TIME BY THISPREC/OTHPREC
022644,000037: # CALLS SR30.1 (WHICH CALLS TFFCONMU + TFFRP/RA) TO CALCULATE
022645,000038: # RPER (PERIGEE RADIUS), RAPO (APOGEE RADIUS), HPER (PERIGEE
022646,000039: # HEIGHT ABOVE LAUNCH PAD OR LUNAR LANDING SITE), HAPO (APOGEE
022647,000040: # HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), TFF (TIME TO
022648,000041: # INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE).
022649,000042: # FLASH MONITOR V16N44 (HAPO, HPER, TFF).TFF IS -59M59S IF IT WAS
022650,000043: # NOT COMPUTABLE, OTHERWISE IT INCREMENTS ONCE PER SECOND.
022651,000044: # IF P00 IS RUNNING, CALL DELRSPL SPLASH ERROR COMPUTATION.
022652,000045: # ASTRONAUT HAS OPTION TO MONITOR TPER BY KEYING IN N 32 E.
022653,000046: # DISPLAY IS IN HMS, IS NEGATIVE (AS WAS TFF), AND INCREMENTS
022654,000047: # ONCE PER SECOND ONLY IF TFF DISPLAY WAS -59M59S.
022655,000048:
022656,000049: # 2. IF AVERAGE G IS ON:
022657,000050: # CALLS SR30.1 APPROX EVERY TWO SECS. STATE VECTOR IS ALWAYS
022658,000051: # FOR THIS VEHICLE. V82 DOES NOT DISTURB STATE VECTOR. RESULTS
022659,000052: # OF SR30.1 ARE RAPO, RPER, HAPO, HPER, TPER, TFF.
022660,000053: # FLASH MONITOR V16N44 (HAPO, HPER, TFF).
022661,000054: # IF MODE IS P11, THEN CALL DELRSPL SO ASTRONAUT CAN MONITOR
022662,000055: # RESULTS BY N50E. SPLASH COMPUTATION DONE ONCE PER TWO SECS.
022663,000056:
022664,000057:
022665,000058: # ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE
022666,000059: # ABOVE REMARKS.
022667,000060:
022668,000061: # CALLING SEQUENCE: VERB 82 ENTER.
022669,000062:
022670,000063:
022671,000064: # SUBROUTINES CALLED: SR30.1, GOXDSPF
022672,000065: # MAYBE - THISPREC, OTHPREC, LOADTIME, DELRSPL,
022673,000066: # VEHOPT, TIMEOPT
022674,000067: # NORMAL EXIT MODES: TC ENDEXT
022675,000068:
022676,000069: # ALARMS: NONE
|
Page 517 |
022678,000071:
022679,000072: # OUTPUT: HAPOX (-29) M
022680,000073: # HPERX (-29) M
022681,000074: # RAPO (-29) M EARTH
022682,000075: # (-27) M MOON
022683,000076: # RPER (-29) M EARTH
022684,000077: # (-27) M MOON
022685,000078: # TFF (-28) CS CONTAINS NEGATIVE QUANTITY
022686,000079: # -TPER (-28) CS CONTAINS NEGATIVE QUANTITY
022687,000080: # RSP-RREC (-29) M IF DELRSPL CALLED
022688,000081:
022689,000082: # ERASABLE INITIALIZATION REQUIRED: STATE VECTOR.
022690,000083:
022691,000084: # DEBRIS: QPRET, RONE, VONE, TFF/RTMU, HPERMIN, RPADTEM, V82EMFLG.
022692,000085: # MAYBE: TSTART82, V82FLAGS, TDEC1.
022693,000086:
022694,000087:
022695,000088: 13,2254 E4,1742 EBANK= HAPOX
022696,000089: 13,2254 40,2000 SBANK= PINSUPER
022697,000090: 23,2000 SETLOC R30LOC
022698,000091: 23,2000 BANK
022699,000092: 23,2330 COUNT* $$/R30
022700,000093:
022701,000094: 23,2330 06006 V82CALL TC INTPRET
022702,000095: 23,2331 45014 BON CALL
022703,000096: 23,2332 00716 AVEGFLAG
022704,000097: 23,2333 46551 V82GON # IF AVERAGE G ON
022705,000098: 23,2334 50064 VEHOPT # IF OFF, ALLOW VEHICLE OPTION
022706,000099: 23,2335 77776 EXIT
022707,000100: 23,2336 34765 CAF BIT4 # 80 MS
022708,000101: 23,2337 05233 TC WAITLIST
022709,000102: 23,2340 E4,1734 EBANK= TFF
022710,000103: 23,2340 02514 46104 2CADR TICKTEST
022711,000104: 23,2342 00003 RELINT
022712,000105: 23,2343 30,2000 SBANK= LOWSUPER
022713,000106: 23,2343 32372 V82GOFLP CAF TFFBANK # MAJOR RECYCLE LOOP ENTRY
022714,000107: 23,2344 54003 TS EBANK
022715,000108: 23,2345 34772 CAF ZERO
022716,000109: 23,2346 55733 TS V82FLAGS # ZERO FLAGS FOR TICKTEST. INHIBITS
022717,000110: # DECREMENTING OF TFF AND -TPER.
022718,000111: 23,2347 35051 CAF PRIO7
022719,000112: 23,2350 05135 TC FINDVAC # V82GOFF1 WILL EXECUTE STATE VECTOR
022720,000113: 23,2351 E4,1734 EBANK= TFF # UPDATE AND ORBIT CALCULATIONS FOR
022721,000114: 23,2351 02373 46064 2CADR V82GOFF1 # SELECTED VEHICLE ABOUT PROPER BODY.
022722,000115: 23,2353 00003 RELINT
022723,000116: 23,2354 36214 V82STALL CAF THREE # STALL IN THIS LOOP AND WITHOLD V 16 N 44
022724,000117: 23,2355 71733 MASK V82FLAGS # UNTIL STATE VECTOR UPDATE SETS ONE OF
022725,000118: 23,2356 10000 CCS A # OUR FLAG BITS.
022726,000119: 23,2357 02363 TC FLAGGON # EXIT FROM STALL LOOP.
|
Page 518 |
022728,000121: 23,2360 04636 TC BANKCALL
022729,000122: 23,2361 01730 CADR 1SECDELY
022730,000123: 23,2362 02354 TC V82STALL
022731,000124:
022732,000125: 23,2363 32371 FLAGGON CAF V16N44 # MONITOR HAPO,HPER,TFF.
022733,000126: 23,2364 04636 TC BANKCALL
022734,000127: 23,2365 20576 CADR GOXDSPF
022735,000128: 23,2366 05626 TC B5OFF # TERM THIS TELLS TICKTEST TO KILL ITSELF
022736,000129: 23,2367 05626 TC B5OFF # PROCEED DITTO
022737,000130: 23,2370 02343 TC V82GOFLP # RECYCLE RECOMPUTE STATE VECT + DISPLAY
022738,000131:
022739,000132: 23,2371 04054 V16N44 VN 1644
022740,000133: 23,2372 02334 TFFBANK ECADR TFF
022741,000134:
022742,000135:
022743,000136: 23,2373 06006 V82GOFF1 TC INTPRET
022744,000137: 23,2374 45145 DLOAD CALL
022745,000138: 23,2375 15336 ZEROVECS # INITIAL TIME = 0 = PRES. TIME
022746,000139: 23,2376 46424 TIMEOPT # ALLOW TIME SELECTION
022747,000140: 23,2377 16316 STODL TSTART82 # TIME FOR INTERNAL USE (=TDEC1 TIME)
022748,000141: 23,2400 01257 OPTIONEV
022749,000142: 23,2401 46142 SR1 BHIZ
022750,000143: 23,2402 46420 THISSHIP
022751,000144: 23,2403 77624 CALL # CALL STATE VECTOR UPDATE FOR OTHER SHIP.
022752,000145: 23,2404 27161 OTHPREC
022753,000146: 23,2405 77775 BOTHSHIP VLOAD # MOVE RESULTS INTO TFFCONIC STORAGE AREAS
022754,000147: 23,2406 00001 RATT # TO BE CALLED BY SR30.1.
022755,000148: 23,2407 26320 STOVL RONE # RATT AT (-29)M FOR EARTH OR MOON
022756,000149: 23,2410 00007 VATT
022757,000150: 23,2411 16326 STODL VONE
022758,000151: 23,2412 00050 X2
022759,000152: 23,2413 45030 BHIZ CALL
022760,000153: 23,2414 46457 EARTHPAD
022761,000154: 23,2415 46635 MOONGON
022762,000155: 23,2416 77650 GOTO
022763,000156: 23,2417 46461 BOTHPAD
022764,000157: 23,2420 77624 THISSHIP CALL # CALL STATE VECTOR UPDATE FOR THIS SHIP.
022765,000158: 23,2421 27145 THISPREC
022766,000159: 23,2422 77650 GOTO
022767,000160: 23,2423 46405 BOTHSHIP
022768,000161:
022769,000162: 23,2424 01255 TIMEOPT STORE DSPTEMX
022770,000163: 23,2425 77420 +1 STQ EXIT
022771,000164: 23,2426 00734 VEHRET
022772,000165: 23,2427 32446 CAF V06N16X
022773,000166: 23,2430 04636 TC BANKCALL
022774,000167: 23,2431 20576 CADR GOXDSPF
022775,000168: 23,2432 05524 TC ENDEXT
022776,000169: 23,2433 02435 TC +2
022777,000170: 23,2434 02427 TC -5
|
Page 519 |
022779,000172: 23,2435 06006 TC INTPRET
022780,000173: 23,2436 53145 DLOAD BZE
022781,000174: 23,2437 01255 DSPTEMX
022782,000175: 23,2440 46443 GETNOW
022783,000176: 23,2441 34041 STRTDEC1 STCALL TDEC1
022784,000177: 23,2442 00734 VEHRET
022785,000178: 23,2443 52034 GETNOW RTB GOTO
022786,000179: 23,2444 51751 LOADTIME
022787,000180: 23,2445 46441 STRTDEC1
022788,000181: 23,2446 01420 V06N16X VN 0616
022789,000182: # THE FOLLOWING CONSTANTS ARE PAIRWISE INDEXED. DO NOT SEPARATE PAIRS.
022790,000183:
022791,000184: 23,2447 27533 07571 1/RTMUM 2DEC* .45162595 E-4 B14*
022792,000185: 23,2451 25004 06702 1/RTMUE 2DEC* .50087529 E-5 B17*
022793,000186:
022794,000187: 23,2453 00001 11530 MINPERM 2DEC 10668 B-27 # 35 KFT MIN PERIGEE HEIGHT FOR MOON(-27)M
022795,000188: 23,2455 00002 31230 MINPERE 2DEC 91440 B-29 # 300 KFT (-29)M FOR EARTH
022796,000189:
022797,000190: 23,2457 77624 EARTHPAD CALL
022798,000191: 23,2460 46647 EARTHGON
022799,000192: 23,2461 36314 BOTHPAD STCALL RPADTEM
022800,000193: 23,2462 46660 SR30.1 # CALCULATE ORBITAL PARAMETERS
022801,000194: 23,2463 46135 SLOAD BHIZ
022802,000195: 23,2464 01215 MODREG # ARE WE IN POO
022803,000196: 23,2465 46611 CANDEL # YES, DO DELRSPL
022804,000197: 23,2466 45234 SPLRET1 RTB DSU
022805,000198: 23,2467 51751 LOADTIME
022806,000199: 23,2470 02316 TSTART82 # PRESENT TIME - TIME V82GOFF1 BEGAN
022807,000200: 23,2471 16316 STODL TSTART82 # SAVE IT.
022808,000201: 23,2472 02337 -TPER # SR30.1 SETS -TPER=0 IF HPER L/
022809,000202: 23,2473 77654 BZE # HPERMIN (300 OR 35) KFT.
022810,000203: 23,2474 46504 TICKTFF # (-TPER = 0)
022811,000204: 23,2475 43345 TICKTPER DLOAD DAD # (-TPER NON ZERO) TFF WAS NOT COMPUTED,
022812,000205: 23,2476 02337 -TPER # BUT WAS SET TO 59M59S.DONT TICK TFF, DO
022813,000206: 23,2477 02316 TSTART82 # TICK -TPER. DISPLAY BOTH.
022814,000207: 23,2500 02337 STORE -TPER # -TPER CORRECTED FOR TIME SINCE V82GOFF1
022815,000208: 23,2501 77776 EXIT # BEGAN.
022816,000209: 23,2502 34770 CAF BIT1 # INFORMS TICKTEST TO INCREMENT ONLY -TPER
022817,000210: 23,2503 02512 TC TICKTFF +6
022818,000211: 23,2504 43345 TICKTFF DLOAD DAD # (-TPER=0) TFF WAS COMPUTED.TICK TFF.
022819,000212: 23,2505 02335 TFF # DO NOT TICK -TPER.DISPLAY TFF, BUT NOT
022820,000213: 23,2506 02316 TSTART82 # -TPER.
022821,000214: 23,2507 02335 STORE TFF # TFF CORRECTED FOR TIME SINCE V82GOFF1
022822,000215: 23,2510 77776 EXIT # BEGAN.
022823,000216: 23,2511 34767 CAF BIT2
022824,000217: 23,2512 55733 +6 TS V82FLAGS # INFORMS TICKTEST TO INCREMENT ONLY TFF.
022825,000218: 23,2513 05205 TC ENDOFJOB
|
Page 520 |
022827,000220: 23,2514 34764 TICKTEST CAF BIT5 # THIS WAITLIST PROGRAM PERPETUATES ITSELF
022828,000221: 23,2515 71247 MASK EXTVBACT # ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0.
022829,000222: 23,2516 10000 CCS A
022830,000223: 23,2517 02525 TC DOTICK
022831,000224: 23,2520 37647 CAF PRIO25
022832,000225: 23,2521 05121 TC NOVAC # TERMINATE V 82.CANT CALL ENDEXT IN RUPT.
022833,000226: 23,2522 1247 EBANK= EXTVBACT
022834,000227: 23,2522 05524 04062 2CADR ENDEXT
022835,000228:
022836,000229: 23,2524 05314 TC TASKOVER
022837,000230: 23,2525 35016 DOTICK CAF 1SEC # RE-REQUEST TICKTEST.
022838,000231: 23,2526 05233 TC WAITLIST
022839,000232: 23,2527 E4,1734 EBANK= TFF
022840,000233: 23,2527 02514 46064 2CADR TICKTEST
022841,000234:
022842,000235: 23,2531 36214 CAF THREE
022843,000236: 23,2532 71733 MASK V82FLAGS
022844,000237: 23,2533 50000 INDEX A
022845,000238: 23,2534 02535 TC +1
022846,000239: 23,2535 05314 TC TASKOVER # IF NO FLAGBITS SET DONT CHANGE TFF OR
022847,000240: # -TPER, BUT CONTINUE LOOP.
022848,000241: 23,2536 02544 TC TPERTICK # ONLY BIT 1 SET. INCR -TPER BY 1 SEC.
022849,000242: 23,2537 35016 TFFTICK CAF 1SEC # ONLY BIT 2 SET. INCR TFF BY 1 SEC.
022850,000243: 23,2540 54001 TS L
022851,000244: 23,2541 34772 CAF ZERO
022852,000245: 23,2542 21735 DAS TFF
022853,000246: 23,2543 05314 TC TASKOVER
022854,000247: 23,2544 35016 TPERTICK CAF 1SEC
022855,000248: 23,2545 54001 TS L
022856,000249: 23,2546 34772 CAF ZERO
022857,000250: 23,2547 21737 DAS -TPER
022858,000251: 23,2550 05314 TC TASKOVER
|
Page 521 |
022860,000253: 23,2551 77776 V82GON EXIT # AVERAGE G ON. USE CURRENT STATE VECTOR
022861,000254: # FOR ORBITAL PARAMETER CALCULATIONS.
022862,000255: 23,2552 35051 CAF PRIO7 # LESS THAN LAMBERT
022863,000256: 23,2553 05135 TC FINDVAC # V82GON1 WILL PERFORM ORBIT CALCULATIONS
022864,000257: 23,2554 E4,1734 EBANK= TFF # ABOUT PROPER BODY APPROX ONCE PER SEC.
022865,000258: 23,2554 02567 46064 2CADR V82GON1
022866,000259:
022867,000260: 23,2556 00003 RELINT
022868,000261: 23,2557 10067 CCS NEWJOB # WITHOLD V16 N44 UNTIL FIRST ORBIT CALC
022869,000262: 23,2560 05152 TC CHANG1 # IS DONE. NOTE:V82GON1 (PRIO7, FINDVAC
022870,000263: # JOB) IS COMPLETED BEFORE V82GON (PRIO7,
022871,000264: # NOVAC JOB).
022872,000265: 23,2561 32371 V82REDSP CAF V16N44 # MONITOR HAPO, HPER, TFF
022873,000266: 23,2562 04636 TC BANKCALL
022874,000267: 23,2563 20576 CADR GOXDSPF
022875,000268: 23,2564 05626 TC B5OFF # TERM THIS TELLS V82GON1 TO KILL ITSELF.
022876,000269: 23,2565 05626 TC B5OFF # PROC DITTO.
022877,000270: 23,2566 02561 TC V82REDSP # RECYCLE
022878,000271:
022879,000272: 23,2567 06006 V82GON1 TC INTPRET # THIS EXEC PROGRAM PERPETUATES ITSELF
022880,000273: # ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0.
022881,000274: 23,2570 52175 VLOAD GOTO # HOLDS OFF CCS NEWJOB BETWEEN RN AND
022882,000275: 23,2571 01030 RN # VN FETCH SO RN , VN ARE FROM SAME
022883,000276: 23,2572 46573 NEXTLINE # STATE VECTOR UPDATE.
022884,000277: 23,2573 26320 NEXTLINE STOVL RONE # RN AT (-29)M FOR EARTH OR MOON
022885,000278: 23,2574 01036 VN
022886,000279: 23,2575 02326 STORE VONE # VN AT (-7)M/CS FOR EARTH OR MOON
022887,000280: 23,2576 45014 BON CALL
022888,000281: 23,2577 00315 AMOONFLG # FLAG INDICATES BODY ABOUT WHICH ORBITAL
022889,000282: 23,2600 46631 MOONGONA # CALCULATIONS ARE TO BE PERFORMED.
022890,000283: 23,2601 46647 EARTHGON # IF SET - MOON , IF RESET - EARTH.
022891,000284:
022892,000285: 23,2602 36314 V82GON2 STCALL RPADTEM # COMMON CODE FOR EARTH & MOON.
022893,000286: 23,2603 46660 SR30.1
022894,000287: 23,2604 77776 EXIT
022895,000288: 23,2605 05354 TC CHECKMM
022896,000289: 23,2606 00013 DEC 11 B-14
022897,000290: 23,2607 02622 TC V82GON3 # NOT IN MODE 11.
022898,000291: 23,2610 06006 TC INTPRET # IN MODE 11 OR P00
022899,000292: 23,2611 77624 CANDEL CALL
022900,000293: 23,2612 27516 INTSTALL # DELRSPL DOES INTWAKE
022901,000294: 23,2613 45145 DLOAD CALL
022902,000295: 23,2614 02335 TFF
022903,000296: 23,2615 64027 DELRSPL # RETURN IS TO NEXT LINE ( SPLRET ).
022904,000297: 23,2616 46135 SPLRET SLOAD BHIZ
022905,000298: 23,2617 01215 MODREG
022906,000299: 23,2620 46466 SPLRET1
022907,000300: 23,2621 77776 EXIT
022908,000301: 23,2622 34764 V82GON3 CAF BIT5
022909,000302: 23,2623 71247 MASK EXTVBACT # SEE IF ASTRONAUT HAS SIGNALLED TERMINATE
|
Page 522 |
022911,000304: 23,2624 00006 EXTEND
022912,000305: 23,2625 15524 BZF ENDEXT # YES, TERMINATE VB 82 LOOP
022913,000306: 23,2626 04636 TC BANKCALL # WAIT ONE SECOND BEFORE REPEATING
022914,000307: 23,2627 01730 CADR 1SECDELY # ORBITAL PARAMETER COMPUTATION.
022915,000308: 23,2630 02567 TC V82GON1
022916,000309:
022917,000310: 23,2631 77624 MOONGONA CALL
022918,000311: 23,2632 46635 MOONGON
022919,000312: 23,2633 77650 GOTO
022920,000313: 23,2634 46602 V82GON2
022921,000314: 23,2635 71214 MOONGON SET DLOAD
022922,000315: 23,2636 04462 V82EMFLG # INDICATES LUNAR SCALING FOR SR30.1
022923,000316: 23,2637 06450 1/RTMUM # LUNAR PARAMETERS LOADED HERE FOR SR30.1
022924,000317: 23,2640 14037 STODL TFF/RTMU
022925,000318: 23,2641 06454 MINPERM
022926,000319: 23,2642 26312 STOVL HPERMIN
022927,000320: 23,2643 02026 RLS # SCALED AT (-27)M.
022928,000321: 23,2644 77646 ABVAL
022929,000322: 23,2645 43414 SET RVQ
022930,000323: 23,2646 01463 LUNAFLAG # FOR LAT-LONG SUBROUTINE
022931,000324: 23,2647 71214 EARTHGON CLEAR DLOAD
022932,000325: 23,2650 04662 V82EMFLG # INDICATE EARTH SCALING FOR SR30.1
022933,000326: 23,2651 06452 1/RTMUE # EARTH PARAMETERS LOADED HERE FOR SR30.1
022934,000327: 23,2652 14037 STODL TFF/RTMU
022935,000328: 23,2653 06456 MINPERE
022936,000329: 23,2654 16312 STODL HPERMIN
022937,000330: 23,2655 05173 RPAD
022938,000331: 23,2656 43414 CLEAR RVQ
022939,000332: 23,2657 01663 LUNAFLAG # FOR LAT-LONG SUBROUTINE
022940,000333:
|
Page 523 |
022942,000335: # SUBROUTINE NAME: SR30.1
022943,000336: # MOD NO: 0 DATE: 16 FEB 67
022944,000337: # MOD BY: RR BAIRNSFATHER LOG SECTION: R32
022945,000338: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN
022946,000339: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67 ADD OVFL CK FOR RAPO
022947,000340: # MOD NO: 3 MOD BY ALONSO DATE: 11 DEC 67 SUBROUTINE REWRITTEN
022948,000341: # MOD NO: 4 MOD BY ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE
022949,000342: # MOD NO: 5 MOD BY: RR BAIRNSFATHER DATE: 6 AUG 68 OVFL CK FOR HAPO & HPER.VOIDS MOD #2.
022950,000343:
022951,000344: # NEW FUNCTIONAL DESCRIPTION: ORBITAL PARAMETERS DISPLAY FOR NOUNS 32 AND 44.
022952,000345: # SR30.1 CALLS TFFCONMU AND TFFRP/RA TO CALCULATE RPER (PERIGEE RADIUS),
022953,000346: # RAPO (APOGEE RADIUS), HPER (PERIGEE HEIGHT ABOVE LAUNCH PAD OR LUNAR
022954,000347: # LANDING SITE), HAPO (APOGEE HEIGHT AS ABOVE), TPER (TIME TO PERIGEE),
022955,000348: # TFF (TIME TO INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE).
022956,000349: # IF HPER IS GREATER THAN OR EQUAL TO HPERMIN, CALCULATES TPER AND STORES
022957,000350: # NEGATIVE IN -TPER. OTHERWISE STORES +0 IN -TPER. WHENEVER TPER IS
022958,000351: # CALCULATED, TFF IS NOT COMPUTABLE AND DEFAULTS TO -59MIN 59SEC. IF HAPO
022959,000352: # WOULD EXCEED 9999.9 NM, IT IS LIMITED TO THAT VALUE FOR DISPLAY.
022960,000353:
022961,000354: # ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE
022962,000355: # ABOVE REMARKS.
022963,000356:
022964,000357: # CALLING SEQUENCE: CALL
022965,000358: # SR30.1
022966,000359: # SUBROUTINES CALLED: TFFCONMU, TFFRP/RA, CALCTPER, CALCTFF
022967,000360: # NORMAL EXIT MODE: CALLING LINE +1 (STILL IN INTERPRETIVE MODE)
022968,000361: # ALARMS: NONE
022969,000362: # OUTPUT: RAPO (-29) M EARTH APOGEE RADIUS EARTH CENTERED COORD.
022970,000363: # (-27) M MOON MOON CENTERED COORD.
022971,000364: # RPER (-29) M EARTH PERIGEE RADIUS EARTH CENTERED COORD.
022972,000365: # (-27) M MOON MOON CENTERED COORD.
022973,000366: # HAPOX (-29) M APOGEE ALTITUDE ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM.
022974,000367: # HPERX (-29) M PERIGEE ALT. ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM.
022975,000368: # TFF (-28) CS TIME TO 300KFT OR 35KFT ALTITUDE
022976,000369: # -TPER (-28) CS TIME TO PERIGEE
022977,000370: # ERASABLE INITIALIZATION REQUIRED -
022978,000371: # TFF/RTMU (+17) EARTH RECIPROCAL OF PROPER GRAV CONSTANT FOR
022979,000372: # (+14) MOON EARTH OR MOON = 1/SQRT(MU).
022980,000373: # RONE (-29) M STATE VECTOR
022981,000374: # VONE (-7) M/CS STATE VECTOR
022982,000375: # RPADTEM (-29) M EARTH RADIUS OF LAUNCH PAD OR LUNAR LANDING
022983,000376: # (-27) M MOON SITE.
022984,000377: # HPERMIN (-29) M EARTH (300 OR 35)KFT MINIMUM PERIGEE ALTITUDE
022985,000378: # (-27) M MOON ABOVE LAUNCH PAD OR LUNAR LANDING SITE.
022986,000379: # V82EMFLG (INT SW BIT) RESET FOR EARTH, SET FOR MOON.
022987,000380:
022988,000381: # DEBRIS: QPRET, PDL, S2
022989,000382:
|
Page 524 |
022991,000384: 23,2660 COUNT* $$/SR30S
022992,000385:
022993,000386: 23,2660 44001 SR30.1 SETPD STQ # INITIALIZE PUSHDOWN LIST.
022994,000387: 23,2661 00001 0
022995,000388: 23,2662 00051 S2
022996,000389: # SR30.1 INPUT: RONE AT (-29)M EARTH/MOON
022997,000390: # VONE AT (-7)M/CS
022998,000391: # TFFCONMU,TFFRP/RA,CALCTPER AND CALCTFF
022999,000392: # CALLS REQUIRE :
023000,000393: # EARTH CENTERED (NO RESCALING REQUIRED)
023001,000394: # RONE SCALED TO B-29 M
023002,000395: # VONE SCALED TO B-7 M/CS
023003,000396: # MOON CENTERED (RESCALING REQUIRED)
023004,000397: # RONE SCALED TO B-27 M
023005,000398: # VONE SCALED TO B-5 M/CS
023006,000399: 23,2663 77214 BOFF VLOAD
023007,000400: 23,2664 04742 V82EMFLG # OFF FOR EARTH , ON FOR MOON.
023008,000401: 23,2665 46674 TFFCALLS
023009,000402: 23,2666 02320 RONE
023010,000403: 23,2667 77752 VSL2
023011,000404: 23,2670 26320 STOVL RONE
023012,000405: 23,2671 02326 VONE
023013,000406: 23,2672 77752 VSL2
023014,000407: 23,2673 02326 STORE VONE
023015,000408: 23,2674 77624 TFFCALLS CALL
023016,000409: 23,2675 57152 TFFCONMU
023017,000410: 23,2676 77624 CALL # TFFRP/RA COMPUTES RAPO,RPER.
023018,000411: 23,2677 57220 TFFRP/RA
023019,000412: # RETURNS WITH RAPO IN D(MPAC).
023020,000413: 23,2700 77625 DSU
023021,000414: 23,2701 02314 RPADTEM
023022,000415: 23,2702 64414 BOFF SR2R # NEED HAPO AT (-29)M FOR DISPLAY.
023023,000416: # IF MOON CENTERED, RESCALE FROM (-27)M.
023024,000417: # IF EARTH CENTERED ALREADY AT (-29)M.
023025,000418: 23,2703 04742 V82EMFLG # OFF FOR EARTH, ON FOR MOON.
023026,000419: 23,2704 46705 +1
023027,000420: 23,2705 77624 CALL # IF HAPO > MAXNM, SET HAPO =9999.9 NM.
023028,000421: 23,2706 46745 MAXCHK # OTHERWISE STORE (RAPO-RPADTEM) IN HAPO.
023029,000422: 23,2707 16343 STORHAPO STODL HAPOX
023030,000423: 23,2710 00017 RPER
023031,000424: 23,2711 77625 DSU
023032,000425: 23,2712 02314 RPADTEM # GIVES HPER AT (-29)M EARTH, (-27)M MOON.
023033,000426: 23,2713 00161 STORE MPAC +4 # SAVE THIS FOR COMPARISON TO HPERMIN.
023034,000427: 23,2714 64414 BOFF SR2R # NEED HPER AT (-29)M FOR DISPLAY.
023035,000428: # IF MOON CENTERED, RESCALE FROM (-27)M.
023036,000429: # IF EARTH CENTERED ALREADY AT (-29)M.
023037,000430: 23,2715 04742 V82EMFLG # OFF FOR EARTH, ON FOR MOON.
023038,000431: 23,2716 46717 +1
023039,000432: 23,2717 77624 CALL # IF HPER > MAXNM, SET HPER = 9999.9 NM.
023040,000433: 23,2720 46745 MAXCHK
|
Page 525 |
023042,000435: 23,2721 16345 STORHPER STODL HPERX # STORE (RPER - RPADTEM) INTO HPERX.
023043,000436: 23,2722 00161 MPAC +4
023044,000437: 23,2723 51025 DSU BPL # HPERMIN AT (-29)M FOR EARTH, (-27)M MOON
023045,000438: 23,2724 02312 HPERMIN # IF HPER L/ HPERMIN (300 OR 35)KFT,
023046,000439: 23,2725 46731 DOTPER # THEN ZERO INTO -TPER.
023047,000440: 23,2726 52145 DLOAD GOTO # OTHERWISE CALCULATE TPER.
023048,000441: 23,2727 15336 HI6ZEROS
023049,000442: 23,2730 46735 SKIPTPER
023050,000443: 23,2731 45145 DOTPER DLOAD CALL
023051,000444: 23,2732 00017 RPER
023052,000445: 23,2733 57256 CALCTPER
023053,000446: 23,2734 77676 DCOMP # TPER IS PUT NEG INTO -TPER.
023054,000447: 23,2735 16337 SKIPTPER STODL -TPER
023055,000448: 23,2736 02312 HPERMIN # HPERMIN AT (-29)M FOR EARTH, (-27)M MOON
023056,000449: 23,2737 45015 DAD CALL
023057,000450: 23,2740 02314 RPADTEM # RPADTEM AT (-29)M FOR EARTH, (-27)M MOON
023058,000451: 23,2741 57261 CALCTFF # GIVES 59M59S FOR TFF IF RPER G/
023059,000452: 23,2742 77676 DCOMP # HPERMIN + RPADTEM. (TPER WAS NON ZERO)
023060,000453: 23,2743 36335 STCALL TFF # OTHERWISE COMPUTES TFF. (GOTO)
023061,000454: 23,2744 00051 S2
023062,000455:
023063,000456: 23,2745 51025 MAXCHK DSU BPL # IF C(MPAC) > 9999.9 NM, MPAC = 9999.9 NM
023064,000457: 23,2746 06755 MAXNM
023065,000458: 23,2747 46752 +3 # OTHERWISE C(MPAC) = B(MPAC).
023066,000459: 23,2750 43415 DAD RVQ
023067,000460: 23,2751 06755 MAXNM
023068,000461: 23,2752 43545 +3 DLOAD RVQ # (USED BY P30 - P37 ALSO)
023069,000462: 23,2753 06755 MAXNM
023070,000463:
023071,000464: 23,2754 01065 05603 MAXNM 2OCT 0106505603
023072,000465:
|
Page 526 This page contains only assembler-generated messages. |
023075,000468:
End of include-file R30.agc. Parent file is MAIN.agc