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