Source Code
These source-code files are part of a reconstructed copy of Skylark 048, the
Block II Command Module (CM) Apollo Guidance Computer (AGC) software for the
Skylab-2, Skylab-3, Skylab-4, and Apollo-Soyuz Test Project missions.
They have been created via disassembly of binary dumps of the original core rope memory modules actually flown on Skylab-2, part numbers 2010802-541, 2010802-551, 2010802-561, 2010802-571, 2010802-581, and 2010802-591. Access to these modules was provided by the New Mexico Museum of Space History, who we are much indebted to. The source code for the Apollo 15, 16, and 17 software, Artemis 072, was used as a starting point. Heavy use was made of TRW 4900.5-244, Programmed Guidance Equations for Skylark Command Module Earth Orbital Program, dated 14 February 1972. This document contains pseudocode of essentially all of Skylark, using original program labels which have been copied for this source reconstruction. Since only binary dumps (rather than listings) of Skylark are available as source material, all comments and labels are approximate. They have been taken from the Programmed Guidance Equations or other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
020133,000002: ## Copyright: Public domain.
020134,000003: ## Filename: R30.agc
020135,000004: ## Purpose: A section of Skylark revision 048.
020136,000005: ## It is part of the source code for the Apollo Guidance Computer (AGC)
020137,000006: ## for Skylab-2, Skylab-3, Skylab-4, and ASTP. No original listings of
020138,000007: ## this software are available; instead, this file was created via
020139,000008: ## disassembly of dumps of the core rope modules actually flown on
020140,000009: ## Skylab-2. Access to these modules was provided by the New Mexico
020141,000010: ## Museum of Space History.
020142,000011: ## Assembler: yaYUL
020143,000012: ## Contact: Ron Burkey <info@sandroid.org>.
020144,000013: ## Website: www.ibiblio.org/apollo/index.html
020145,000014: ## Mod history: 2023-09-04 MAS Created from Artemis 072.
020146,000015: ## 2024-03-05 MAS Updated for Skylark 48.
020147,000016:
020148,000017: # SUBROUTINE NAME: V82CALL
020149,000018: # MOD NO: 0 DATE: 16 FEB 67
020150,000019: # MOD BY: RR BAIRNSFATHER LOG SECTION: R30
020151,000020: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN
020152,000021: # MOD NO: 2 MOD BY ALONSO DATE : 11 DEC 67 VB82 PROGRAM REWRITTEN
020153,000022: # MOD NO: 3 MOD BY ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE
020154,000023: # MOD NO- 4 MOD BY CROCKER DATE- 27 AUG 69 PROG MOD FOR TIME OPTION.
020155,000024: # NEW FUNCTIONAL DESCRIPTION- CALLED BY VERB 82 ENTER. PRIORITY 7
020156,000025: # USED THROUGHOUT. CALCULATE AND DISPLAY ORBITAL PARAMETERS
020157,000026:
020158,000027: # 1. IF AVERAGE G IS OFF:
020159,000028: # FLASH DISPLAY V04N12. R2 INDICATES WHICH SHIP'S STATE VECTOR IS
020160,000029: # TO BE UPDATED. INITIAL CHOICE IS THIS SHIP (R2=1). ASTRONAUT
020161,000030: # CAN CHANGE TO OTHER SHIP BY V22EXE, WHERE X NOT EQ 1.
020162,000031: # FLASH DISPLAY TIME V06N16. INITIAL CHOICE = 0 = PRESENT TIME.
020163,000032: # ASTRONAUT CAN INSERT A TIME BY V25E, R1=HR R2=MIN R3=CSEC.
020164,000033: # CHOSEN STATE VECTOR UPDATED TO CHOSEN TIME BY THISPREC/OTHPREC
020165,000034: # CALLS SR30.1 (WHICH CALLS TFFCONMU + TFFRP/RA) TO CALCULATE
020166,000035: # RPER (PERIGEE RADIUS), RAPO (APOGEE RADIUS), HPER (PERIGEE
020167,000036: # HEIGHT ABOVE LAUNCH PAD OR LUNAR LANDING SITE), HAPO (APOGEE
020168,000037: # HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), TFF (TIME TO
020169,000038: # INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE).
020170,000039: # FLASH MONITOR V16N44 (HAPO, HPER, TFF).TFF IS -59M59S IF IT WAS
020171,000040: # NOT COMPUTABLE, OTHERWISE IT INCREMENTS ONCE PER SECOND.
020172,000041: # IF P00 IS RUNNING, CALL DELRSPL SPLASH ERROR COMPUTATION.
020173,000042: # ASTRONAUT HAS OPTION TO MONITOR TPER BY KEYING IN N 32 E.
020174,000043: # DISPLAY IS IN HMS, IS NEGATIVE (AS WAS TFF), AND INCREMENTS
020175,000044: # ONCE PER SECOND ONLY IF TFF DISPLAY WAS -59M59S.
020176,000045:
020177,000046: # 2. IF AVERAGE G IS ON:
020178,000047: # CALLS SR30.1 APPROX EVERY TWO SECS. STATE VECTOR IS ALWAYS
020179,000048: # FOR THIS VEHICLE. V82 DOES NOT DISTURB STATE VECTOR. RESULTS
020180,000049: # OF SR30.1 ARE RAPO, RPER, HAPO, HPER, TPER, TFF.
020181,000050: # FLASH MONITOR V16N44 (HAPO, HPER, TFF).
020182,000051: # IF MODE IS P11, THEN CALL DELRSPL SO ASTRONAUT CAN MONITOR
020183,000052: # RESULTS BY N50E. SPLASH COMPUTATION DONE ONCE PER TWO SECS.
020184,000053:
020185,000054:
020186,000055: # ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE
020187,000056: # ABOVE REMARKS.
020188,000057:
020189,000058: # CALLING SEQUENCE: VERB 82 ENTER.
020190,000059:
020191,000060:
020192,000061: # SUBROUTINES CALLED: SR30.1, GOXDSPF
020193,000062: # MAYBE - THISPREC, OTHPREC, LOADTIME, DELRSPL,
020194,000063: # VEHOPT, TIMEOPT
020195,000064: # NORMAL EXIT MODES: TC ENDEXT
020196,000065:
020197,000066: # ALARMS: NONE
020198,000067:
020199,000068: # OUTPUT: HAPOX (-29) M
020200,000069: # HPERX (-29) M
020201,000070: # RAPO (-29) M EARTH
020202,000071: # (-27) M MOON
020203,000072: # RPER (-29) M EARTH
020204,000073: # (-27) M MOON
020205,000074: # TFF (-28) CS CONTAINS NEGATIVE QUANTITY
020206,000075: # -TPER (-28) CS CONTAINS NEGATIVE QUANTITY
020207,000076: # RSP-RREC (-29) M IF DELRSPL CALLED
020208,000077:
020209,000078: # ERASABLE INITIALIZATION REQUIRED: STATE VECTOR.
020210,000079:
020211,000080: # DEBRIS: QPRET, RONE, VONE, TFF/RTMU, HPERMIN, RPADTEM.
020212,000081: # MAYBE: TSTART82, V82FLAGS, TDEC1.
020213,000082:
020214,000083:
020215,000084: 05,3311 E4,1603 EBANK= HAPOX
020216,000085: 05,3311 40,2000 SBANK= PINSUPER
020217,000086: 23,2000 SETLOC R30LOC
020218,000087: 23,2000 BANK
020219,000088: 23,2434 COUNT* $$/R30
020220,000089:
020221,000090: 23,2434 06006 V82CALL TC INTPRET
020222,000091: 23,2435 45014 BON CALL
020223,000092: 23,2436 00716 AVEGFLAG
020224,000093: 23,2437 46642 V82GON # IF AVERAGE G ON
020225,000094: 23,2440 46414 VEHOPT # IF OFF, ALLOW VEHICLE OPTION
020226,000095: 23,2441 77776 EXIT
020227,000096: 23,2442 34776 CAF BIT4 # 80 MS
020228,000097: 23,2443 05246 TC WAITLIST
020229,000098: 23,2444 E4,1525 EBANK= TFF
020230,000099: 23,2444 02605 46104 2CADR TICKTEST
020231,000100: 23,2446 00003 RELINT
020232,000101: 23,2447 30,2000 SBANK= LOWSUPER
020233,000102: 23,2447 32476 V82GOFLP CAF TFFBANK # MAJOR RECYCLE LOOP ENTRY
020234,000103: 23,2450 54003 TS EBANK
020235,000104: 23,2451 35003 CAF ZERO
020236,000105: 23,2452 55555 TS V82FLAGS # ZERO FLAGS FOR TICKTEST. INHIBITS
020237,000106: # DECREMENTING OF TFF AND -TPER.
020238,000107: 23,2453 35063 CAF PRIO7
020239,000108: 23,2454 05150 TC FINDVAC # V82GOFF1 WILL EXECUTE STATE VECTOR
020240,000109: 23,2455 E4,1525 EBANK= TFF # UPDATE AND ORBIT CALCULATIONS FOR
020241,000110: 23,2455 02477 46064 2CADR V82GOFF1 # SELECTED VEHICLE ABOUT PROPER BODY.
020242,000111: 23,2457 00003 RELINT
020243,000112: 23,2460 36214 V82STALL CAF THREE # STALL IN THIS LOOP AND WITHOLD V 16 N 44
020244,000113: 23,2461 71555 MASK V82FLAGS # UNTIL STATE VECTOR UPDATE SETS ONE OF
020245,000114: 23,2462 10000 CCS A # OUR FLAG BITS.
020246,000115: 23,2463 02467 TC FLAGGON # EXIT FROM STALL LOOP.
020247,000116: 23,2464 04647 TC BANKCALL
020248,000117: 23,2465 01730 CADR 1SECDELY
020249,000118: 23,2466 02460 TC V82STALL
020250,000119:
020251,000120: 23,2467 32475 FLAGGON CAF V16N44 # MONITOR HAPO,HPER,TFF.
020252,000121: 23,2470 04647 TC BANKCALL
020253,000122: 23,2471 20456 CADR GOXDSPF
020254,000123: 23,2472 05601 TC B5OFF # TERM THIS TELLS TICKTEST TO KILL ITSELF
020255,000124: 23,2473 05601 TC B5OFF # PROCEED DITTO
020256,000125: 23,2474 02447 TC V82GOFLP # RECYCLE RECOMPUTE STATE VECT + DISPLAY
020257,000126:
020258,000127: 23,2475 04054 V16N44 VN 1644
020259,000128: 23,2476 02125 TFFBANK ECADR TFF
020260,000129:
020261,000130:
020262,000131: 23,2477 06006 V82GOFF1 TC INTPRET
020263,000132: 23,2500 45145 DLOAD CALL
020264,000133: 23,2501 15204 ZEROVECS # INITIAL TIME = 0 = PRES. TIME
020265,000134: 23,2502 46523 TIMEOPT # ALLOW TIME SELECTION
020266,000135: 23,2503 16202 STODL TSTART82 # TIME FOR INTERNAL USE (=TDEC1 TIME)
020267,000136: 23,2504 01247 OPTIONEV
020268,000137: 23,2505 46142 SR1 BHIZ
020269,000138: 23,2506 46517 THISSHIP
020270,000139: 23,2507 77624 CALL # CALL STATE VECTOR UPDATE FOR OTHER SHIP.
020271,000140: 23,2510 11414 OTHPREC
020272,000141: 23,2511 77775 BOTHSHIP VLOAD # MOVE RESULTS INTO TFFCONIC STORAGE AREAS
020273,000142: 23,2512 00001 RATT # TO BE CALLED BY SR30.1.
020274,000143: 23,2513 26210 STOVL RONE # RATT AT (-29)M FOR EARTH OR MOON
020275,000144: 23,2514 00007 VATT
020276,000145: 23,2515 36216 STCALL VONE
020277,000146: 23,2516 46552 EARTHPAD
020278,000147: 23,2517 77624 THISSHIP CALL # CALL STATE VECTOR UPDATE FOR THIS SHIP.
020279,000148: 23,2520 11400 THISPREC
020280,000149: 23,2521 77650 GOTO
020281,000150: 23,2522 46511 BOTHSHIP
020282,000151:
020283,000152: 23,2523 01245 TIMEOPT STORE DSPTEMX
020284,000153: 23,2524 77420 +1 STQ EXIT
020285,000154: 23,2525 00734 VEHRET
020286,000155: 23,2526 32545 CAF V06N16X
020287,000156: 23,2527 04647 TC BANKCALL
020288,000157: 23,2530 20456 CADR GOXDSPF
020289,000158: 23,2531 05537 TC ENDEXT
020290,000159: 23,2532 02534 TC +2
020291,000160: 23,2533 02526 TC -5
020292,000161: 23,2534 06006 TC INTPRET
020293,000162: 23,2535 53145 DLOAD BZE
020294,000163: 23,2536 01245 DSPTEMX
020295,000164: 23,2537 46542 GETNOW
020296,000165: 23,2540 34041 STRTDEC1 STCALL TDEC1
020297,000166: 23,2541 00734 VEHRET
020298,000167: 23,2542 52034 GETNOW RTB GOTO
020299,000168: 23,2543 45563 LOADTIME
020300,000169: 23,2544 46540 STRTDEC1
020301,000170: 23,2545 01420 V06N16X VN 0616
020302,000171: # THE FOLLOWING CONSTANTS ARE PAIRWISE INDEXED. DO NOT SEPARATE PAIRS.
020303,000172:
020304,000173: 23,2546 25004 06702 1/RTMUE 2DEC* .50087529 E-5 B17*
020305,000174:
020306,000175: 23,2550 00002 31230 MINPERE 2DEC 91440 B-29 # 300 KFT (-29)M FOR EARTH
020307,000176:
020308,000177: 23,2552 77624 EARTHPAD CALL
020309,000178: 23,2553 46716 SR30.1 # CALCULATE ORBITAL PARAMETERS
020310,000179: 23,2554 46135 SLOAD BHIZ
020311,000180: 23,2555 01205 MODREG # ARE WE IN POO
020312,000181: 23,2556 46676 CANDEL # YES, DO DELRSPL
020313,000182: 23,2557 45234 SPLRET1 RTB DSU
020314,000183: 23,2560 45563 LOADTIME
020315,000184: 23,2561 02202 TSTART82 # PRESENT TIME - TIME V82GOFF1 BEGAN
020316,000185: 23,2562 16202 STODL TSTART82 # SAVE IT.
020317,000186: 23,2563 02130 -TPER # SR30.1 SETS -TPER=0 IF HPER L/
020318,000187: 23,2564 77654 BZE # HPERMIN (300 OR 35) KFT.
020319,000188: 23,2565 46575 TICKTFF # (-TPER = 0)
020320,000189: 23,2566 43345 TICKTPER DLOAD DAD # (-TPER NON ZERO) TFF WAS NOT COMPUTED,
020321,000190: 23,2567 02130 -TPER # BUT WAS SET TO 59M59S.DONT TICK TFF, DO
020322,000191: 23,2570 02202 TSTART82 # TICK -TPER. DISPLAY BOTH.
020323,000192: 23,2571 02130 STORE -TPER # -TPER CORRECTED FOR TIME SINCE V82GOFF1
020324,000193: 23,2572 77776 EXIT # BEGAN.
020325,000194: 23,2573 35001 CAF BIT1 # INFORMS TICKTEST TO INCREMENT ONLY -TPER
020326,000195: 23,2574 02603 TC TICKTFF +6
020327,000196: 23,2575 43345 TICKTFF DLOAD DAD # (-TPER=0) TFF WAS COMPUTED.TICK TFF.
020328,000197: 23,2576 02126 TFF # DO NOT TICK -TPER.DISPLAY TFF, BUT NOT
020329,000198: 23,2577 02202 TSTART82 # -TPER.
020330,000199: 23,2600 02126 STORE TFF # TFF CORRECTED FOR TIME SINCE V82GOFF1
020331,000200: 23,2601 77776 EXIT # BEGAN.
020332,000201: 23,2602 35000 CAF BIT2
020333,000202: 23,2603 55555 +6 TS V82FLAGS # INFORMS TICKTEST TO INCREMENT ONLY TFF.
020334,000203: 23,2604 05220 TC ENDOFJOB
020335,000204: 23,2605 34775 TICKTEST CAF BIT5 # THIS WAITLIST PROGRAM PERPETUATES ITSELF
020336,000205: 23,2606 71237 MASK EXTVBACT # ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0.
020337,000206: 23,2607 10000 CCS A
020338,000207: 23,2610 02616 TC DOTICK
020339,000208: 23,2611 37647 CAF PRIO25
020340,000209: 23,2612 05134 TC NOVAC # TERMINATE V 82.CANT CALL ENDEXT IN RUPT.
020341,000210: 23,2613 1237 EBANK= EXTVBACT
020342,000211: 23,2613 05537 04062 2CADR ENDEXT
020343,000212:
020344,000213: 23,2615 05327 TC TASKOVER
020345,000214: 23,2616 35030 DOTICK CAF 1SEC # RE-REQUEST TICKTEST.
020346,000215: 23,2617 05246 TC WAITLIST
020347,000216: 23,2620 E4,1525 EBANK= TFF
020348,000217: 23,2620 02605 46064 2CADR TICKTEST
020349,000218:
020350,000219: 23,2622 36214 CAF THREE
020351,000220: 23,2623 71555 MASK V82FLAGS
020352,000221: 23,2624 50000 INDEX A
020353,000222: 23,2625 02626 TC +1
020354,000223: 23,2626 05327 TC TASKOVER # IF NO FLAGBITS SET DONT CHANGE TFF OR
020355,000224: # -TPER, BUT CONTINUE LOOP.
020356,000225: 23,2627 02635 TC TPERTICK # ONLY BIT 1 SET. INCR -TPER BY 1 SEC.
020357,000226: 23,2630 35030 TFFTICK CAF 1SEC # ONLY BIT 2 SET. INCR TFF BY 1 SEC.
020358,000227: 23,2631 54001 TS L
020359,000228: 23,2632 35003 CAF ZERO
020360,000229: 23,2633 21526 DAS TFF
020361,000230: 23,2634 05327 TC TASKOVER
020362,000231: 23,2635 35030 TPERTICK CAF 1SEC
020363,000232: 23,2636 54001 TS L
020364,000233: 23,2637 35003 CAF ZERO
020365,000234: 23,2640 21530 DAS -TPER
020366,000235: 23,2641 05327 TC TASKOVER
020367,000236: 23,2642 77776 V82GON EXIT # AVERAGE G ON. USE CURRENT STATE VECTOR
020368,000237: # FOR ORBITAL PARAMETER CALCULATIONS.
020369,000238: 23,2643 35063 CAF PRIO7 # LESS THAN LAMBERT
020370,000239: 23,2644 05150 TC FINDVAC # V82GON1 WILL PERFORM ORBIT CALCULATIONS
020371,000240: 23,2645 E4,1525 EBANK= TFF # ABOUT PROPER BODY APPROX ONCE PER SEC.
020372,000241: 23,2645 02660 46064 2CADR V82GON1
020373,000242:
020374,000243: 23,2647 00003 RELINT
020375,000244: 23,2650 10067 CCS NEWJOB # WITHOLD V16 N44 UNTIL FIRST ORBIT CALC
020376,000245: 23,2651 05165 TC CHANG1 # IS DONE. NOTE:V82GON1 (PRIO7, FINDVAC
020377,000246: # JOB) IS COMPLETED BEFORE V82GON (PRIO7,
020378,000247: # NOVAC JOB).
020379,000248: 23,2652 32475 V82REDSP CAF V16N44 # MONITOR HAPO, HPER, TFF
020380,000249: 23,2653 04647 TC BANKCALL
020381,000250: 23,2654 20456 CADR GOXDSPF
020382,000251: 23,2655 05601 TC B5OFF # TERM THIS TELLS V82GON1 TO KILL ITSELF.
020383,000252: 23,2656 05601 TC B5OFF # PROC DITTO.
020384,000253: 23,2657 02652 TC V82REDSP # RECYCLE
020385,000254:
020386,000255: 23,2660 06006 V82GON1 TC INTPRET # THIS EXEC PROGRAM PERPETUATES ITSELF
020387,000256: # ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0.
020388,000257: 23,2661 52175 VLOAD GOTO # HOLDS OFF CCS NEWJOB BETWEEN RN AND
020389,000258: 23,2662 01022 RN # VN FETCH SO RN , VN ARE FROM SAME
020390,000259: 23,2663 46664 NEXTLINE # STATE VECTOR UPDATE.
020391,000260: 23,2664 26210 NEXTLINE STOVL RONE # RN AT (-29)M FOR EARTH OR MOON
020392,000261: 23,2665 01030 VN
020393,000262: 23,2666 02216 STORE VONE # VN AT (-7)M/CS FOR EARTH OR MOON
020394,000263:
020395,000264: 23,2667 77624 V82GON2 CALL
020396,000265: 23,2670 46716 SR30.1
020397,000266: 23,2671 77776 EXIT
020398,000267: 23,2672 05367 TC CHECKMM
020399,000268: 23,2673 00013 DEC 11 B-14
020400,000269: 23,2674 02707 TC V82GON3 # NOT IN MODE 11.
020401,000270: 23,2675 06006 TC INTPRET # IN MODE 11 OR P00
020402,000271: 23,2676 77624 CANDEL CALL
020403,000272: 23,2677 11720 INTSTALL # DELRSPL DOES INTWAKE
020404,000273: 23,2700 45145 DLOAD CALL
020405,000274: 23,2701 02126 TFF
020406,000275: 23,2702 74000 DELRSPL # RETURN IS TO NEXT LINE ( SPLRET ).
020407,000276: 23,2703 46135 SPLRET SLOAD BHIZ
020408,000277: 23,2704 01205 MODREG
020409,000278: 23,2705 46557 SPLRET1
020410,000279: 23,2706 77776 EXIT
020411,000280: 23,2707 34775 V82GON3 CAF BIT5
020412,000281: 23,2710 71237 MASK EXTVBACT # SEE IF ASTRONAUT HAS SIGNALLED TERMINATE
020413,000282: 23,2711 00006 EXTEND
020414,000283: 23,2712 15537 BZF ENDEXT # YES, TERMINATE VB 82 LOOP
020415,000284: 23,2713 04647 TC BANKCALL # WAIT ONE SECOND BEFORE REPEATING
020416,000285: 23,2714 01730 CADR 1SECDELY # ORBITAL PARAMETER COMPUTATION.
020417,000286: 23,2715 02660 TC V82GON1
020418,000287:
020419,000288: # SUBROUTINE NAME: SR30.1
020420,000289: # MOD NO: 0 DATE: 16 FEB 67
020421,000290: # MOD BY: RR BAIRNSFATHER LOG SECTION: R32
020422,000291: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN
020423,000292: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67 ADD OVFL CK FOR RAPO
020424,000293: # MOD NO: 3 MOD BY ALONSO DATE: 11 DEC 67 SUBROUTINE REWRITTEN
020425,000294: # MOD NO: 4 MOD BY ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE
020426,000295: # MOD NO: 5 MOD BY: RR BAIRNSFATHER DATE: 6 AUG 68 OVFL CK FOR HAPO & HPER.VOIDS MOD #2.
020427,000296:
020428,000297: # NEW FUNCTIONAL DESCRIPTION: ORBITAL PARAMETERS DISPLAY FOR NOUNS 32 AND 44.
020429,000298: # SR30.1 CALLS TFFCONMU AND TFFRP/RA TO CALCULATE RPER (PERIGEE RADIUS),
020430,000299: # RAPO (APOGEE RADIUS), HPER (PERIGEE HEIGHT ABOVE LAUNCH PAD OR LUNAR
020431,000300: # LANDING SITE), HAPO (APOGEE HEIGHT AS ABOVE), TPER (TIME TO PERIGEE),
020432,000301: # TFF (TIME TO INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE).
020433,000302: # IF HPER IS GREATER THAN OR EQUAL TO HPERMIN, CALCULATES TPER AND STORES
020434,000303: # NEGATIVE IN -TPER. OTHERWISE STORES +0 IN -TPER. WHENEVER TPER IS
020435,000304: # CALCULATED, TFF IS NOT COMPUTABLE AND DEFAULTS TO -59MIN 59SEC. IF HAPO
020436,000305: # WOULD EXCEED 9999.9 NM, IT IS LIMITED TO THAT VALUE FOR DISPLAY.
020437,000306:
020438,000307: # ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE
020439,000308: # ABOVE REMARKS.
020440,000309:
020441,000310: # CALLING SEQUENCE: CALL
020442,000311: # SR30.1
020443,000312: # SUBROUTINES CALLED: TFFCONMU, TFFRP/RA, CALCTPER, CALCTFF
020444,000313: # NORMAL EXIT MODE: CALLING LINE +1 (STILL IN INTERPRETIVE MODE)
020445,000314: # ALARMS: NONE
020446,000315: # OUTPUT: RAPO (-29) M EARTH APOGEE RADIUS EARTH CENTERED COORD.
020447,000316: # (-27) M MOON MOON CENTERED COORD.
020448,000317: # RPER (-29) M EARTH PERIGEE RADIUS EARTH CENTERED COORD.
020449,000318: # (-27) M MOON MOON CENTERED COORD.
020450,000319: # HAPOX (-29) M APOGEE ALTITUDE ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM.
020451,000320: # HPERX (-29) M PERIGEE ALT. ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM.
020452,000321: # TFF (-28) CS TIME TO 300KFT OR 35KFT ALTITUDE
020453,000322: # -TPER (-28) CS TIME TO PERIGEE
020454,000323: # ERASABLE INITIALIZATION REQUIRED -
020455,000324: # TFF/RTMU (+17) EARTH RECIPROCAL OF PROPER GRAV CONSTANT FOR
020456,000325: # (+14) MOON EARTH OR MOON = 1/SQRT(MU).
020457,000326: # RONE (-29) M STATE VECTOR
020458,000327: # VONE (-7) M/CS STATE VECTOR
020459,000328: # RPADTEM (-29) M EARTH RADIUS OF LAUNCH PAD OR LUNAR LANDING
020460,000329: # (-27) M MOON SITE.
020461,000330: # HPERMIN (-29) M EARTH (300 OR 35)KFT MINIMUM PERIGEE ALTITUDE
020462,000331: # (-27) M MOON ABOVE LAUNCH PAD OR LUNAR LANDING SITE.
020463,000332:
020464,000333: # DEBRIS: QPRET, PDL, S2
020465,000334:
020466,000335: 23,2716 COUNT* $$/SR30S
020467,000336:
020468,000337: 23,2716 44001 SR30.1 SETPD STQ # INITIALIZE PUSHDOWN LIST.
020469,000338: 23,2717 00001 0
020470,000339: 23,2720 00051 S2
020471,000340: # SR30.1 INPUT: RONE AT (-29)M EARTH/MOON
020472,000341: # VONE AT (-7)M/CS
020473,000342: # TFFCONMU,TFFRP/RA,CALCTPER AND CALCTFF
020474,000343: # CALLS REQUIRE :
020475,000344: # EARTH CENTERED (NO RESCALING REQUIRED)
020476,000345: # RONE SCALED TO B-29 M
020477,000346: # VONE SCALED TO B-7 M/CS
020478,000347: 23,2721 45145 TFFCALLS DLOAD CALL
020479,000348: 23,2722 06547 1/RTMUE
020480,000349: 23,2723 57055 TFFCONIC
020481,000350: 23,2724 77624 CALL # TFFRP/RA COMPUTES RAPO,RPER.
020482,000351: 23,2725 57124 TFFRP/RA
020483,000352: # RETURNS WITH RAPO IN D(MPAC).
020484,000353: 23,2726 45025 DSU CALL
020485,000354: 23,2727 05374 RPAD # IF HAPO > MAXNM, SET HAPO =9999.9 NM.
020486,000355: 23,2730 46764 MAXCHK # OTHERWISE STORE (RAPO-RPAD) IN HAPO.
020487,000356: 23,2731 16204 STORHAPO STODL HAPOX
020488,000357: 23,2732 00017 RPER
020489,000358: 23,2733 77625 DSU
020490,000359: 23,2734 05374 RPAD # GIVES HPER AT (-29)M.
020491,000360: 23,2735 00161 STORE MPAC +4 # SAVE THIS FOR COMPARISON TO MINPERE.
020492,000361: 23,2736 77624 CALL # IF HPER > MAXNM, SET HPER = 9999.9 NM.
020493,000362: 23,2737 46764 MAXCHK
020494,000363: 23,2740 16206 STORHPER STODL HPERX # STORE (RPER - RPAD) INTO HPERX.
020495,000364: 23,2741 00161 MPAC +4
020496,000365: 23,2742 51025 DSU BPL # MINPERE AT (-29)M
020497,000366: 23,2743 06551 MINPERE # IF HPER L/ MINPERE (300)KFT,
020498,000367: 23,2744 46750 DOTPER # THEN ZERO INTO -TPER.
020499,000368: 23,2745 52145 DLOAD GOTO # OTHERWISE CALCULATE TPER.
020500,000369: 23,2746 15204 HI6ZEROS
020501,000370: 23,2747 46754 SKIPTPER
020502,000371: 23,2750 45145 DOTPER DLOAD CALL
020503,000372: 23,2751 00017 RPER
020504,000373: 23,2752 57162 CALCTPER
020505,000374: 23,2753 77676 DCOMP # TPER IS PUT NEG INTO -TPER.
020506,000375: 23,2754 16130 SKIPTPER STODL -TPER
020507,000376: 23,2755 06551 MINPERE # MINPERE AT (-29)M FOR EARTH
020508,000377: 23,2756 45015 DAD CALL
020509,000378: 23,2757 05374 RPAD # RPAD AT (-29)M FOR EARTH
020510,000379: 23,2760 57165 CALCTFF # GIVES 59M59S FOR TFF IF RPER G/
020511,000380: 23,2761 77676 DCOMP # MINPERE + RPAD. (TPER WAS NON ZERO)
020512,000381: 23,2762 36126 STCALL TFF # OTHERWISE COMPUTES TFF. (GOTO)
020513,000382: 23,2763 00051 S2
020514,000383:
020515,000384: 23,2764 51025 MAXCHK DSU BPL # IF C(MPAC) > 9999.9 NM, MPAC = 9999.9 NM
020516,000385: 23,2765 06774 MAXNM
020517,000386: 23,2766 46771 +3 # OTHERWISE C(MPAC) = B(MPAC).
020518,000387: 23,2767 43415 DAD RVQ
020519,000388: 23,2770 06774 MAXNM
020520,000389: 23,2771 43545 +3 DLOAD RVQ # (USED BY P30 - P37 ALSO)
020521,000390: 23,2772 06774 MAXNM
020522,000391:
020523,000392: 23,2773 01065 05603 MAXNM 2OCT 0106505603
020524,000393:
This function was located in the P30-P31 log section in Artemis. It has been moved here, where it more logically belongs, to match Skylark memory ordering. |
020527,000396:
020528,000397: # SUBROUTINE NAME: DELRSPL (CONTINUATION OF V 82 IN CSM IF P11 ACTI
020529,000398: # TRANSFERRED COMPLETELY FROM SUNDISK, P30S REV 33. 9 SEPT 67.
020530,000399: # MOD NO: 0 MOD BY: ZELDIN DATE:
020531,000400: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
020532,000401: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 12 MAY 67 ADD UR.RT CALC WHEN BELOW 300K FT
020533,000402: # MOD NO: 2.1 MOD BY: RR BAIRNSFATHER DATE: 5 JULY 67 FIX ERROR IN MOD. 2.
020534,000403: # MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 12 JUL 67 CHANGE SIGN OF DISPLAYED ERROR.
020535,000404: # MOD 4 MOD BY S.ZELDIN DATE 3 APRIL 68 CHANGE EQUATIONS FOR L/D=.18 WHICH REPLA
020536,000405:
020537,000406: # FUNCTION: CALCULATE (FOR DISPLAY ON CALL) AN APPROXIMATE MEASURE OF IN-PLANE SPLASH DOWN
020538,000407: # ERROR. IF THE FREE-FALL TRANSFER ANGLE TO 300K FT ABOVE PAD RADIUS IS POSITIVE:
020539,000408: # SPLASH ERROR= -RANGE TO TARGET + FREE-FALL TRANSFER ANGLE + ESTIMATED ENTRY ANGLE.
020540,000409: # THE TARGET LOCATION AT ESTIMATED TIME OF IMPACT IS USED. IF THE FREE-FALL TRANSFER
020541,000410: # ANGLE IS NEGATIVE: SPLASH ERROR= -RANGE TO TARGET
020542,000411: # THE PRESENT TARGET LOCATION IS USED.
020543,000412:
020544,000413: # CALLING SEQUENCE CALLED AFTER SR30.1 IF IN CSM AND IF P11 OPERATING (UNDER CONTROL OF V82)
020545,000414:
020546,000415: # SUBROUTINES CALLED: VGAMCALC, TFF/TRIG, LALOTORV.
020547,000416:
020548,000417: # EXIT RETURN DIRECTLY TO V 82 PROG. AT SPLRET
020549,000418:
020550,000419: # ERASABLE INITIALIZATION LEFT BY SR30.1 AND V82GON1
020551,000420:
020552,000421: # OUTPUT: RSP-RREC RANGE IN REVOLUTIONS DSKY DISPLAY IN N. MI.
020553,000422:
020554,000423: # DEBRIS: QPRET, PDL0 ... PDL7, PDL10
020555,000424: # THETA(1)
020556,000425:
020557,000426: 36,2000 SETLOC DELRSPL1
020558,000427: 36,2000 BANK
020559,000428: 36,2000 COUNT* $$/P30 # PROGRAMS: P30 EXTERNAL DELTA V
020560,000429:
020561,000430: 36,2000 00011 DELRSPL STORE 8D
020562,000431: 36,2001 45244 BPL DSU
020563,000432: 36,2002 74050 CANTDO # GONE PAST 300K FT ALT
020564,000433: 36,2003 16335 1BITDP
020565,000434: 36,2004 45000 BOV CALL
020566,000435: 36,2005 74050 CANTDO # POSMAX INDICATES NO 300K FT SOLUTION.
020567,000436: 36,2006 54722 VGAMCALC # +GAMMA(REV) IN PMAC,V300 MAG(B-7)=PDL 0
020568,000437: 36,2007 45006 PUSH CALL
020569,000438: 36,2010 56766 TFF/TRIG
020570,000439: 36,2011 77624 CALL
020571,000440: 36,2012 74056 AUGEKUGL
020572,000441: 36,2013 65525 PDDL ACOS # T ENTRY PDL 6
020573,000442: 36,2014 00017 CDELF/2
020574,000443: 36,2015 77615 DAD
020575,000444: 36,2016 00005 4
020576,000445: 36,2017 26132 GETARG STOVL THETA(1)
020577,000446: 36,2020 03401 LAT(SPL)
020578,000447: 36,2021 14742 STODL LAT
020579,000448: 36,2022 15204 HI6ZEROS
020580,000449: 36,2023 14746 STODL ALT # ALT=0 = LAT +4
020581,000450: 36,2024 01036 PIPTIME
020582,000451: 36,2025 71214 BON DLOAD
020583,000452: 36,2026 03711 V37FLAG
020584,000453: 36,2027 74031 +2
020585,000454: 36,2030 02202 TSTART82
020586,000455: 36,2031 43225 DSU DAD
020587,000456: 36,2032 00011 8D
020588,000457: 36,2033 45014 CLEAR CALL
020589,000458: 36,2034 00662 ERADFLAG
020590,000459: 36,2035 22523 LALOTORV # R RECOV. IN ALPHAV AND MPAC
020591,000460:
020592,000461: 36,2036 63256 UNIT PDVL
020593,000462: 36,2037 02210 RONE
020594,000463: 36,2040 50256 UNIT DOT
020595,000464: 36,2041 65552 SL1 ARCCOS
020596,000465: 36,2042 77621 BDSU # ERROR = THETA EST - THETA TARG
020597,000466: # NEGATIVE NUMBER SIGNIFIES THAT WILL FALL SHORT.
020598,000467: # POSITIVE NUMBER SIGNIFIES THAT WILL OVERSHOOT.
020599,000468: 36,2043 02132 THETA(1)
020600,000469: 36,2044 36157 DELRDONE STCALL RSP-RREC # DOWNRANGE RECOVERY RANGE ERROR /360
020601,000470: 36,2045 11727 INTWAKE0
020602,000471: 36,2046 77624 CALL
020603,000472: 36,2047 46703 SPLRET
020604,000473: 36,2050 65345 CANTDO DLOAD PDDL # INITIALIZE ERASE TO DOT TARGET AND UR
020605,000474: # FOR RANGE ANGLE.
020606,000475: 36,2051 15202 HIDPHALF # TO PDL 0 FOR DEN IN DDV.
020607,000476: 36,2052 15204 HI6ZEROS
020608,000477: 36,2053 77606 PUSH # ZERO TO PDL 2 FOR PHI ENTRY
020609,000478: 36,2054 34011 STCALL 8D
020610,000479: 36,2055 74017 GETARG # GO SET RSP-RREC =0
020611,000480:
020612,000481: 36,2056 77775 AUGEKUGL VLOAD
020613,000482: 36,2057 34237 X1CON -2
020614,000483: 36,2060 14045 STODL X1 -2
020615,000484: 36,2061 00001 0
020616,000485: 36,2062 50025 DSU BMN
020617,000486: 36,2063 34231 V(21K)
020618,000487: 36,2064 74111 LOOPSET
020619,000488: 36,2065 65060 XSU,1 XCHX,2
020620,000489: 36,2066 00050 S1
020621,000490: 36,2067 00046 X1
020622,000491: 36,2070 45324 XCHX,2 DSU
020623,000492: 36,2071 00050 S1
020624,000493: 36,2072 34217 V(3K)
020625,000494: 36,2073 65040 BMN XCHX,2
020626,000495: 36,2074 74111 LOOPSET
020627,000496: 36,2075 00050 S1
020628,000497: 36,2076 50025 DSU BMN
020629,000498: 36,2077 34227 V(4K)
020630,000499: 36,2100 74111 LOOPSET
020631,000500: 36,2101 65124 XCHX,2 XCHX,2
020632,000501: 36,2102 00050 S1
020633,000502: 36,2103 00046 X1
020634,000503: 36,2104 50025 DSU BMN
020635,000504: 36,2105 34213 V(400)
020636,000505: 36,2106 74111 LOOPSET
020637,000506: 36,2107 77730 SXA,1
020638,000507: 36,2110 00050 S1
020639,000508: 36,2111 52110 LOOPSET INCR,1 GOTO
020640,000509: 36,2112 00001 DEC 1 B-14
020641,000510: 36,2113 74116 K1K2LOOP
020642,000511: 36,2114 77730 K2CALC SXA,1
020643,000512: 36,2115 00050 S1
020644,000513: 36,2116 44745 K1K2LOOP DLOAD DSU*
020645,000514: 36,2117 00001 0
020646,000515: 36,2120 34226 V(32K) +1,1
020647,000516: 36,2121 42603 DMP* DAD*
020648,000517: 36,2122 34212 YK1K2 +1,1
020649,000518: 36,2123 34176 CK1K2 +1,1
020650,000519: 36,2124 60125 PDDL TIX,1
020651,000520: 36,2125 00003 2
020652,000521: 36,2126 74114 K2CALC
020653,000522: 36,2127 55225 DSU BDDV
020654,000523: 36,2130 40006 PUSH BOV # PHI ENTRY PDL 4D
020655,000524: 36,2131 74154 MAXPHI
020656,000525: 36,2132 45240 BMN DSU
020657,000526: 36,2133 74154 MAXPHI
020658,000527: 36,2134 34161 MAXPHIC
020659,000528: 36,2135 77644 BPL
020660,000529: 36,2136 74154 MAXPHI
020661,000530: 36,2137 45345 PHICALC DLOAD DSU
020662,000531: 36,2140 00001 0
020663,000532: 36,2141 34237 V(26K)
020664,000533: 36,2142 71244 BPL DLOAD
020665,000534: 36,2143 74151 TGR26
020666,000535: 36,2144 34233 TLESS26
020667,000536: 36,2145 77671 DDV
020668,000537: 36,2146 00001 0
020669,000538: 36,2147 43405 TENT DMP RVQ
020670,000539: 36,2150 00005 4D
020671,000540: 36,2151 52145 TGR26 DLOAD GOTO
020672,000541: 36,2152 34235 TGR26CON
020673,000542: 36,2153 74147 TENT
020674,000543:
020675,000544: 36,2154 65345 MAXPHI DLOAD PDDL
020676,000545: 36,2155 34161 MAXPHIC
020677,000546: 36,2156 77650 GOTO
020678,000547: 36,2157 74137 PHICALC
020679,000548: 36,2160 02755 01307 MAXPHIC 2DEC .09259298 # 2000 NM FOR MAXIMUM PHI ENTRY
020680,000549:
020681,000550: 36,2162 COUNT* $$/P30
020682,000551:
020683,000552:
020684,000553: # BELOW
020685,000554: # <<<< TABLE IS INDEXED. KEEP IN ORDER >>>
020686,000555:
020687,000556: 36,2162 00013 22652 2DEC 7.07304526 E-4 # 5500
020688,000557:
020689,000558: 36,2164 00005 01642 2DEC 3.08641975 E-4 # 2400
020690,000559:
020691,000560: 36,2166 00005 01642 2DEC 3.08641975 E-4 # 2400
020692,000561:
020693,000562: 36,2170 77556 53522 2DEC -8.8888888 E-3 # -3.2
020694,000563:
020695,000564: 36,2172 00055 20266 2DEC 2.7777777 E-3 # 1
020696,000565:
020697,000566: 36,2174 00155 07202 CK1K2 2DEC 6.6666666 E-3 # 2.4
020698,000567:
020699,000568: 36,2176 00000 00000 2DEC 0 B-28 # 0
020700,000569:
020701,000570: 36,2200 77730 71525 2DEC* -1.86909989 E-5 B7* # -.443
020702,000571:
020703,000572: 36,2202 00000 00000 2DEC 0 B-28
020704,000573:
020705,000574: 36,2204 04445 10102 2DEC* 1.11639691 E-3 B7* # .001225
020706,000575:
020707,000576: 36,2206 03726 31201 2DEC* 9.56911636 E-4 B7* # .00105
020708,000577:
020709,000578: 36,2210 01040 26313 YK1K2 2DEC* 2.59733157 E-4 B7* # .000285
020710,000579:
020711,000580: 36,2212 00234 01660 V(400) 2DEC 1.2192 B-7
020712,000581:
020713,000582: 36,2214 25254 01014 V(28K) 2DEC 85.344 B-7
020714,000583:
020715,000584: 36,2216 02222 15646 V(3K) 2DEC 9.144 B-7
020716,000585:
020717,000586: 36,2220 22223 16457 V(24K) 2DEC 73.152 B-7
020718,000587:
020719,000588: 36,2222 25254 01014 2DEC 85.344 B-7
020720,000589:
020721,000590: 36,2224 30304 23351 V(32K) 2DEC 97.536 B-7
020722,000591:
020723,000592: 36,2226 03030 22335 V(4K) 2DEC 12.192 B-7
020724,000593:
020725,000594: 36,2230 20001 00611 V(21K) 2DEC 64.008 B-7
020726,000595:
020727,000596: 36,2232 00033 05763 TLESS26 2DEC* 5.70146688 E7 B-35* # 8660PHI/V
020728,000597:
020729,000598: 36,2234 00053 36200 TGR26CON 2DEC 7.2 E5 B-28 # PHI/3
020730,000599:
020731,000600: 36,2236 23637 27636 V(26K) 2DEC 79.248 B-7 # 26000
020732,000601:
020733,000602: 36,2240 00012 X1CON DEC 10 B-14
020734,000603:
020735,000604:
020736,000605: 36,2241 00010 DEC 8 B-14
020737,000606: 36,2242 00006 DEC 6 B-14
020738,000607: # <<<< TABLE IS INDEXED. KEEP IN ORDER >>>
020739,000608: # ABOVE
End of include-file R30.agc. Parent file is MAIN.agc