Source Code
![]() |
This source code is very close to the Apollo Guidance Computer software for the
Apollo 13 Lunar module. This revision of the Luminary 131 program is from December
of 1969, whereas there was a later revision in January of 1970, and still another
revision in February, which is the code that flew on the mission.
As far as this transcription is concerned, it was originally from a copy made in 1991 of
a printout from the collection of AGC developer Don Eyles for collector David Craig.
It was subsequently scanned by Gary Neff, reprocessed for online
presentation at the now-discontinued History of Recent Science and Technology (HRST) website
of MIT's Dibner Institute (the full-quality scans being discarded in the process),
and finally transcribed by Ron Burkey for the Virtual AGC Project. Although a
high-quality replacement scan for a completely illegible page was later provided by Gary
Neff, the reduced legibility of the reprocessed HRST posting nevertheless caused many
errors to be introduced into the transcription. Accordingly, a second scan of the same physical
printout was made in 2017 for the Virtual AGC Project's collection at the Internet Archive,
and used to correct the transcription errors. All of the scanned materials mentioned,
as well as other Luminary 131 related material, are available online.
Don Eyles apprently made additional hand-written notes in printout between 1991 and 2017,
so the two scans are not identical in that respect. The page-headings in the printout read, in part:GAP: ASSEMBLE REVISION 131 OF AGC PROGRAM LUMINARY BY NASA 2021112-091 17:53 DEC. 19, 1969Note that the date is the date the printout was made, not the date on which the program revision was released, although these happen to be very close together. |
030154,000002: ## Copyright: Public domain.
030155,000003: ## Filename: R30.agc
030156,000004: ## Purpose: A section of Luminary 1C, revision 131.
030157,000005: ## It is part of the source code for the Lunar Module's (LM)
030158,000006: ## Apollo Guidance Computer (AGC) for Apollo 13.
030159,000007: ## This file is intended to be a faithful transcription, except
030160,000008: ## that the code format has been changed to conform to the
030161,000009: ## requirements of the yaYUL assembler rather than the
030162,000010: ## original YUL assembler.
030163,000011: ## Reference: pp. 714-724
030164,000012: ## Contact: Ron Burkey <info@sandroid.org>.
030165,000013: ## Website: www.ibiblio.org/apollo/index.html
030166,000014: ## Mod history: 05/24/03 RSB. Began transcribing.
030167,000015: ## 05/14/05 RSB Corrected website reference above.
030168,000016: ## 2017-01-06 RSB Page numbers now agree with those on the
030169,000017: ## original harcopy, as opposed to the PDF page
030170,000018: ## numbers in 1701.pdf.
030171,000019: ## 2017-02-08 RSB Comment-text fixes discovered while proofing Artemis 72.
030172,000020: ## 2017-02-24 RSB Proofed comment text using octopus/ProoferComments.
030173,000021: ## 2017-02-28 RSB Fixed lingering typos.
030174,000022: ## 2017-03-09 RSB Comment-text fixes noted in proofing Luminary 116.
030175,000023: ## 2017-03-16 RSB Comment-text fixes identified in 5-way
030176,000024: ## side-by-side diff of Luminary 69/99/116/131/210.
030177,000025: ## 2017-03-17 RSB Comment-text fixes identified in diff'ing
030178,000026: ## Luminary 99 vs Comanche 55.
030179,000027:
![]() |
Page 714 |
030181,000029: # SUBROUTINE NAME: V82CALL
030182,000030: # MOD NO: 0 DATE: 16 FEB 67
030183,000031: # MOD BY: RR BAIRNSFATHER LOG SECTION: R30
030184,000032: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN
030185,000033: # MOD NO: 2 MOD BY ALONSO DATE: 11 DEC 67 VB82 PROGRAM REWRITTEN
030186,000034: # MOD NO: 3 MOD BY ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE
030187,000035:
030188,000036: # NEW FUNCTIONAL DESCRIPTION: CALLED BY VERB 82 ENTER. PRIORITY 10
030189,000037: # USED THROUGHOUT. CALCULATE AND DISPLAY ORBITAL PARAMETERS
030190,000038:
030191,000039: # 1. IF AVERAGE G IS OFF:
030192,000040: # FLASH DISPLAY V04N06. R2 INDICATES WHICH SHIP'S STATE VECTOR IS
030193,000041: # TO BE UPDATED. INITIAL CHOICE IS THIS SHIP (R2=1). ASTRONAUT
030194,000042: # CAN CHANGE TO OTHER SHIP BY V22EXE, WHERE X NOT EQ 1.
030195,000043: # SELECTED STATE VECTOR UPDATED BY THISPREC (OTHPREC).
030196,000044: # CALLS SR30.1 (WHICH CALLS TFFCONMU + TFFRP/RA) TO CALCULATE
030197,000045: # RPER (PERIGEE RADIUS), RAPO (APOGEE RADIUS), HPER (PERIGEE
030198,000046: # HEIGHT ABOVE LAUNCH PAD OR LUNAR LANDING SITE), HAPO (APOGEE
030199,000047: # HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), TFF (TIME TO
030200,000048: # INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE).
030201,000049: # FLASH MONITOR V16N44 (HAPO, HPER, TFF). TFF IS -59M59S IF IT WAS
030202,000050: # NOT COMPUTABLE, OTHERWISE IT INCREMENTS ONCE PER SECOND.
030203,000051: # ASTRONAUT HAS OPTION TO MONITOR TPER BY KEYING IN N 32 E.
030204,000052: # DISPLAY IS IN HMS, IS NEGATIVE (AS WAS TFF), AND INCREMENTS
030205,000053: # ONCE PER SECOND ONLY IF TFF DISPLAY WAS -59M59S.
030206,000054: # 2. IF AVERAGE G IS ON:
030207,000055: # CALLS SR30.1 APPROX EVERY TWO SECS. STATE VECTOR IS ALWAYS
030208,000056: # FOR THIS VEHICLE. V82 DOES NOT DISTURB STATE VECTOR. RESULTS
030209,000057: # OF SR30.1 ARE RAPO, RPER, HAPO, HPER, TPER, TFF.
030210,000058: # FLASH MONITOR V16N44 (HAPO, HPER, TFF).
030211,000059: # ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE
030212,000060: # ABOVE REMARKS.
030213,000061:
030214,000062: # CALLING SEQUENCE: VERB 82 ENTER.
030215,000063:
030216,000064: # SUBROUTINES CALLED: SR30.1, GOXDSPF
030217,000065: # MAYBE - THISPREC, OTHPREC, LOADTIME, DELRSPL
030218,000066:
030219,000067: # NORMAL EXIT MODES: TC ENDEXT
030220,000068:
030221,000069: # ALARMS: NONE
030222,000070:
030223,000071: # OUTPUT: HAPOX (-29) M
030224,000072: # HPERX (-29) M
030225,000073: # RAPO (-29) M EARTH
030226,000074: # (-27) M MOON
030227,000075: # RPER (-29) M EARTH
030228,000076: # (-27) M MOON
030229,000077: # TFF (-28) CS CONTAINS NEGATIVE QUANTITY
030230,000078: # -TPER (-28) CS CONTAINS NEGATIVE QUANTITY
030231,000079:
![]() |
Page 715 |
030233,000081: # ERASABLE INITIALIZATION REQUIRED: STATE VECTOR.
030234,000082:
030235,000083: # DEBRIS: QPRET, RONE, VONE, TFF/RTMU, HPERMIN, RPADTEM, V82EMFLG.
030236,000084: # MAYBE: TSTART82, V82FLAGS, TDEC1.
030237,000085:
030238,000086: 13,2347 E4,1517 EBANK= HAPOX
030239,000087: 31,2144 BANK 31
030240,000088: 22,2000 SETLOC R30LOC
030241,000089: 22,2000 BANK
030242,000090: 22,3242 COUNT* $$/R30
030243,000091:
030244,000092: 22,3242 06042 V82CALL TC INTPRET
030245,000093: 22,3243 52014 BON GOTO
030246,000094: 22,3244 03712 AVEGFLAG
030247,000095: 22,3245 45465 V82GON # IF AVERAGE G ON
030248,000096: 22,3246 45247 V82GOFF # IF AVERAGE G OFF
030249,000097:
030250,000098: 22,3247 77776 V82GOFF EXIT # ALLOW ASTRONAUT TO SELECT VEHICLE
030251,000099: 22,3250 34752 CAF TWO # DESIRED FOR ORBITAL PARAMETERS
030252,000100: 22,3251 55050 TS OPTIONX # CALCULATION AND DISPLAY.
030253,000101: 22,3252 34753 CAF ONE
030254,000102: 22,3253 55051 TS OPTIONX +1
030255,000103: 22,3254 33316 CAF OPTIONVN # V 04 N 06
030256,000104: 22,3255 04616 TC BANKCALL
030257,000105: 22,3256 20334 CADR GOXDSPF
030258,000106: 22,3257 05472 TC ENDEXT # TERMINATE
030259,000107: 22,3260 03262 TC +2 # PROCEED
030260,000108: 22,3261 03254 TC -5 # DATA IN. OPTION1+1 = 1 FOR THIS VEHICLE.
030261,000109: # UNEQ 1 FOR OTHER VEHICLE.
030262,000110: 22,3262 34750 CAF BIT4 # 80 MS
030263,000111: 22,3263 05203 TC WAITLIST
030264,000112: 22,3264 E4,1540 EBANK= TFF
030265,000113: 22,3264 03430 44064 2CADR TICKTEST
030266,000114:
030267,000115: 22,3266 00003 RELINT
030268,000116: 22,3267 33320 V82GOFLP CAF TFFBANK # MAJOR RECYCLE LOOP ENTRY
030269,000117: 22,3270 54003 TS EBANK
030270,000118: 22,3271 34755 CAF ZERO
030271,000119: 22,3272 55537 TS V82FLAGS # ZERO FLAGS FOR TICKTEST. INHIBITS
030272,000120: # DECREMENTING OF TFF AND -TPER.
030273,000121: 22,3273 35021 CAF PRIO7
030274,000122: 22,3274 05105 TC FINDVAC # V82GOFF1 WILL EXECUTE STATE VECTOR
030275,000123: 22,3275 E4,1540 EBANK= TFF # UPDATE AND ORBIT CALCULATIONS FOR
030276,000124: 22,3275 03321 44064 2CADR V82GOFF1 # SELECTED VEHICLE ABOUT PROPER BODY.
030277,000125:
030278,000126: 22,3277 00003 RELINT
030279,000127: 22,3300 36250 V82STALL CAF THREE # STALL IN THIS LOOP AND WITHOLD V 16 N 44
![]() |
Page 716 |
030281,000129: 22,3301 71537 MASK V82FLAGS # UNTIL STATE VECTOR UPDATE SETS ONE OF
030282,000130: 22,3302 10000 CCS A # OUR FLAG BITS.
030283,000131: 22,3303 03310 TC FLAGGON # EXIT FROM STALL LOOP.
030284,000132: 22,3304 34777 CAF 1SEC
030285,000133: 22,3305 04616 TC BANKCALL
030286,000134: 22,3306 01736 CADR DELAYJOB
030287,000135: 22,3307 03300 TC V82STALL
030288,000136:
030289,000137: 22,3310 33317 FLAGGON CAF V16N44 # MONITOR HAPO,HPER,TFF.
030290,000138: 22,3311 04616 TC BANKCALL
030291,000139: 22,3312 20334 CADR GOXDSPF
030292,000140: 22,3313 05563 TC B5OFF # TERM THIS TELLS TICKTEST TO KILL ITSELF
030293,000141: 22,3314 05563 TC B5OFF # PROCEED DITTO
030294,000142: 22,3315 03267 TC V82GOFLP # RECYCLE RECOMPUTE STATE VECT + DISPLAY
030295,000143:
030296,000144: 22,3316 01014 OPTIONVN VN 412
030297,000145: 22,3317 04054 V16N44 VN 1644
030298,000146: 22,3320 02140 TFFBANK ECADR TFF
030299,000147:
030300,000148: 22,3321 06042 V82GOFF1 TC INTPRET
030301,000149: 22,3322 77634 RTB
030302,000150: 22,3323 21574 LOADTIME
030303,000151: 22,3324 00041 STORE TDEC1 # TIME FOR STATE VECTOR UPDATE.
030304,000152: 22,3325 02205 STORE TSTART82 # TIME FOR INTERNAL USE.
030305,000153: 22,3326 77776 EXIT
030306,000154: 22,3327 41051 CS OPTIONX +1 # 1 FOR THIS VEHICLE, NOT 1 FOR OTHER.
030307,000155: 22,3330 64753 AD ONE
030308,000156: 22,3331 00006 EXTEND
030309,000157: 22,3332 13356 BZF THISSHIP
030310,000158: 22,3333 06042 OTHSHIP TC INTPRET
030311,000159: 22,3334 77624 CALL # CALL STATE VECTOR UPDATE FOR OTHER SHIP.
030312,000160: 22,3335 27042 OTHPREC
030313,000161: 22,3336 77775 BOTHSHIP VLOAD # MOVE RESULTS INTO TFFCONIC STORAGE AREAS
030314,000162: 22,3337 00001 RATT # TO BE CALLED BY SR30.1.
030315,000163: 22,3340 26207 STOVL RONE # RATT AT (-29)M FOR EARTH OR MOON
030316,000164: 22,3341 00007 VATT
030317,000165: 22,3342 02215 STORE VONE # VATT AT (-7)M/CS FOR EARTH OR MOON
030318,000166: 22,3343 77743 DLOAD*
030319,000167: 22,3344 73774 1/RTMUE,2 # X2 IS 0 FOR EARTH CENTERED STATE VEC
030320,000168: 22,3345 00037 STORE TFF/RTMU # X2 IS 2 FOR MOON
030321,000169: 22,3346 77743 DLOAD* # AS LEFT BY THISPREC OR OTHPREC.
030322,000170: 22,3347 72411 MINPERE,2
030323,000171: 22,3350 02201 STORE HPERMIN # TFFRTMU, HPERMIN AND RPADTEM ARE ALL
030324,000172: 22,3351 46135 SLOAD BHIZ # EARTH/MOON PARAMETERS AS SET HERE.
030325,000173: 22,3352 00050 X2
030326,000174: 22,3353 45367 EARTHPAD
030327,000175: 22,3354 77650 GOTO
030328,000176: 22,3355 45373 MOONPAD
![]() |
Page 717 |
030330,000178: 22,3356 06042 THISSHIP TC INTPRET
030331,000179: 22,3357 77624 CALL # CALL STATE VECTOR UPDATE FOR THIS SHIP.
030332,000180: 22,3360 27056 THISPREC
030333,000181: 22,3361 77650 GOTO
030334,000182: 22,3362 45336 BOTHSHIP
030335,000183:
030336,000184: # THE FOLLOWING CONSTANTS ARE PAIRWISE INDEXED. DO NOT SEPARATE PAIRS.
030337,000185:
030338,000186: 22,3363 00001 11530 MINPERM 2DEC 10668 B-27 # 35 KFT MIN PERIGEE HEIGHT FOR MOON(-27)M
030339,000187: 22,3365 00002 31230 MINPERE 2DEC 91440 B-29 # 300 KFT (-29)M FOR EARTH
030340,000188:
030341,000189: 22,3367 43145 EARTHPAD DLOAD CLRGO # PAD 37-B RADIUS. SCALED AT (-29)M.
030342,000190: 22,3370 06340 RPAD
030343,000191: 22,3371 03635 V82EMFLG # INDICATE EARTH SCALING FOR SR30.1
030344,000192: 22,3372 45377 BOTHPAD
030345,000193:
030346,000194: 22,3373 51575 MOONPAD VLOAD ABVAL # COMPUTE MOON PAD RADIUS FROM RLS VECTOR.
030347,000195: 22,3374 02023 RLS # SCALED AT (-27)M.
030348,000196: 22,3375 77614 SET
030349,000197: 22,3376 03475 V82EMFLG # INDICATE MOON SCALING FOR SR30.1
030350,000198: 22,3377 36203 BOTHPAD STCALL RPADTEM
030351,000199: 22,3400 45551 SR30.1 # CALCULATE ORBITAL PARAMETERS
030352,000200: 22,3401 45234 RTB DSU
030353,000201: 22,3402 21574 LOADTIME
030354,000202: 22,3403 02205 TSTART82 # PRESENT TIME - TIME V82GOFF1 BEGAN
030355,000203: 22,3404 02205 STORE TSTART82 # SAVE IT
030356,000204: 22,3405 53145 DLOAD BZE # SR30.1 SETS -TPER=0 IF HPER L/
030357,000205: 22,3406 02143 -TPER # HPERMIN (300 OR 35) KFT.
030358,000206: 22,3407 45420 TICKTIFF # (-TPER = 0)
030359,000207: 22,3410 43345 TICKTPER DLOAD DAD # (-TPER NON ZERO) TFF WAS NOT COMPUTED,
030360,000208: 22,3411 02143 -TPER # BUT WAS SET TO 59M59S. DONT TICK TFF, DO
030361,000209: 22,3412 02205 TSTART82 # TICK -TPER. DISPLAY BOTH.
030362,000210: 22,3413 02143 STORE -TPER # -TPER CORRECTED FOR TIME SINCE V82GOFF1
030363,000211: 22,3414 77776 EXIT # BEGAN.
030364,000212: 22,3415 34753 CAF BIT1
030365,000213: 22,3416 55537 TS V82FLAGS # INFORMS TICKTEST TO INCREMENT ONLY -TPER
030366,000214: 22,3417 05155 TC ENDOFJOB
030367,000215:
030368,000216: 22,3420 43345 TICKTIFF DLOAD DAD # (-TPER=0) TFF WAS COMPUTED. TICK TFF.
030369,000217: 22,3421 02141 TFF # DO NOT TICK -TPER. DISPLAY TFF, BUT NOT
030370,000218: 22,3422 02205 TSTART82 # -TPER.
030371,000219: 22,3423 02141 STORE TFF # TFF CORRECTED FOR TIME SINCE V82GOFF1
030372,000220: 22,3424 77776 EXIT # BEGAN.
030373,000221: 22,3425 34752 CAF BIT2
030374,000222: 22,3426 55537 TS V82FLAGS # INFORMS TICKTEST TO INCREMENT ONLY TFF.
030375,000223: 22,3427 05155 TC ENDOFJOB
030376,000224:
![]() |
Page 718 |
030378,000226: 22,3430 34747 TICKTEST CAF BIT5 # THIS WAITLIST PROGRAM PERPETUATES ITSELF
030379,000227: 22,3431 71043 MASK EXTVBACT # ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0.
030380,000228: 22,3432 10000 CCS A
030381,000229: 22,3433 03441 TC DOTICK
030382,000230: 22,3434 37716 CAF PRIO25
030383,000231: 22,3435 05072 TC NOVAC # TERMINATE V 82. CANT CALL ENDEXT IN RUPT.
030384,000232: 22,3436 1043 EBANK= EXTVBACT
030385,000233: 22,3436 05472 04062 2CADR ENDEXT
030386,000234:
030387,000235: 22,3440 05261 TC TASKOVER
030388,000236: 22,3441 34777 DOTICK CAF 1SEC # RE-REQUEST TICKTEST.
030389,000237: 22,3442 05203 TC WAITLIST
030390,000238: 22,3443 E4,1540 EBANK= TFF
030391,000239: 22,3443 03430 44064 2CADR TICKTEST
030392,000240:
030393,000241: 22,3445 36250 CAF THREE
030394,000242: 22,3446 71537 MASK V82FLAGS
030395,000243: 22,3447 50000 INDEX A
030396,000244: 22,3450 03451 TC +1
030397,000245: 22,3451 05261 TC TASKOVER # IF NO FLAGBITS SET DONT CHANGE TFF OR
030398,000246: # -TPER, BUT CONTINUE LOOP.
030399,000247: 22,3452 03460 TC TPERTICK # ONLY BIT 1 SET. INCR -TPER BY 1 SEC.
030400,000248: 22,3453 34777 TFFTICK CAF 1SEC # ONLY BIT 2 SET. INCR TFF BY 1 SEC.
030401,000249: 22,3454 54001 TS L
030402,000250: 22,3455 34755 CAF ZERO
030403,000251: 22,3456 21541 DAS TFF
030404,000252: 22,3457 05261 TC TASKOVER
030405,000253: 22,3460 34777 TPERTICK CAF 1SEC
030406,000254: 22,3461 54001 TS L
030407,000255: 22,3462 34755 CAF ZERO
030408,000256: 22,3463 21543 DAS -TPER
030409,000257: 22,3464 05261 TC TASKOVER
030410,000258:
![]() |
Page 719 |
030412,000260: 22,3465 77776 V82GON EXIT # AVERAGE G ON. USE CURRENT STATE VECTOR
030413,000261: # FOR ORBITAL PARAMETER CALCULATIONS.
030414,000262: 22,3466 35021 CAF PRIO7 # LESS THAN LAMBERT
030415,000263: 22,3467 05105 TC FINDVAC # V82GON1 WILL PERFORM ORBIT CALCULATIONS
030416,000264: 22,3470 E4,1540 EBANK= TFF # ABOUT PROPER BODY APPROX ONCE PER SEC.
030417,000265: 22,3470 03503 44064 2CADR V82GON1
030418,000266:
030419,000267: 22,3472 00003 RELINT
030420,000268: 22,3473 10067 CCS NEWJOB # WITHOLD V16 N44 UNTIL FIRST ORBIT CALC
030421,000269: 22,3474 05122 TC CHANG1 # IS DONE. NOTE: V82GON1 (PRIO7, FINDVAC
030422,000270: # JOB) IS COMPLETED BEFORE V82GON (PRIO7,
030423,000271: # NOVAC JOB).
030424,000272: 22,3475 33317 V82REDSP CAF V16N44 # MONITOR HAPO, HPER, TFF
030425,000273: 22,3476 04616 TC BANKCALL
030426,000274: 22,3477 20334 CADR GOXDSPF
030427,000275: 22,3500 05563 TC B5OFF # TERM THIS TELLS V82GON1 TO KILL ITSELF.
030428,000276: 22,3501 05563 TC B5OFF # PROC DITTO.
030429,000277: 22,3502 03475 TC V82REDSP # RECYCLE
030430,000278:
030431,000279: 22,3503 06042 V82GON1 TC INTPRET # THIS EXEC PROGRAM PERPETUATES ITSELF
030432,000280: # ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0.
030433,000281: 22,3504 52175 VLOAD GOTO # HOLDS OFF CCS NEWJOB BETWEEN RN AND
030434,000282: 22,3505 01220 RN # VN FETCH SO RN, VN ARE FROM SAME
030435,000283: 22,3506 45507 NEXTLINE # STATE VECTOR UPDATE.
030436,000284: 22,3507 26207 NEXTLINE STOVL RONE # RN AT (-29)M FOR EARTH OR MOON
030437,000285: 22,3510 01226 VN
030438,000286: 22,3511 02215 STORE VONE # VN AT (-7)M/CS FOR EARTH OR MOON
030439,000287: 22,3512 52014 BON GOTO
030440,000288: 22,3513 04304 MOONTHIS # FLAG INDICATES BODY ABOUT WHICH ORBITAL
030441,000289: 22,3514 45516 MOONGON # CALCULATIONS ARE TO BE PERFORMED.
030442,000290: 22,3515 45527 EARTHGON # IF SET - MOON , IF RESET - EARTH.
030443,000291:
030444,000292: 22,3516 71214 MOONGON SET DLOAD
030445,000293: 22,3517 03475 V82EMFLG # INDICATE MOON SCALING FOR SR30.1
030446,000294: 22,3520 04001 1/RTMUM # LUNAR PARAMETERS LOADED HERE FOR SR30.1
030447,000295: 22,3521 14037 STODL TFF/RTMU
030448,000296: 22,3522 05364 MINPERM
030449,000297: 22,3523 26201 STOVL HPERMIN
030450,000298: 22,3524 02023 RLS # SCALED AT (-27)M.
030451,000299: 22,3525 52046 ABVAL GOTO
030452,000300: 22,3526 45536 V82GON2
030453,000301: 22,3527 71214 EARTHGON CLEAR DLOAD
030454,000302: 22,3530 03675 V82EMFLG # INDICATE EARTH SCALING FOR SR30.1
030455,000303: 22,3531 04003 1/RTMUE # EARTH PARAMETERS LOADED HERE FOR SR30.1
030456,000304: 22,3532 14037 STODL TFF/RTMU
030457,000305: 22,3533 05366 MINPERE
030458,000306: 22,3534 16201 STODL HPERMIN
030459,000307: 22,3535 06340 RPAD
030460,000308: 22,3536 36203 V82GON2 STCALL RPADTEM # COMMON CODE FOR EARTH & MOON.
030461,000309: 22,3537 45551 SR30.1
![]() |
Page 720 |
030463,000311: 22,3540 77776 EXIT
030464,000312: 22,3541 34747 V82GON3 CAF BIT5
030465,000313: 22,3542 71043 MASK EXTVBACT # SEE IF ASTRONAUT HAS SIGNALLED TERMINATE
030466,000314: 22,3543 00006 EXTEND
030467,000315: 22,3544 15472 BZF ENDEXT # YES, TERMINATE VB 82 LOOP
030468,000316: 22,3545 34777 CAF 1SEC
030469,000317: 22,3546 04616 TC BANKCALL # WAIT ONE SECOND BEFORE REPEATING
030470,000318: 22,3547 01736 CADR DELAYJOB # ORBITAL PARAMETER COMPUTATION.
030471,000319: 22,3550 03503 TC V82GON1
030472,000320:
030473,000321: 22,3551 22,3541 SPLRET = V82GON3
030474,000322:
![]() |
Page 721 |
030476,000324: # SUBROUTINE NAME: SR30.1
030477,000325: # MOD NO: 0 DATE: 16 FEB 67
030478,000326: # MOD BY: RR BAIRNSFATHER LOG SECTION: R32
030479,000327: # MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN
030480,000328: # MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 APR 67 ADD OVFL CK FOR RAPO
030481,000329: # MOD NO: 3 MOD BY ALONSO DATE: 11 DEC 67 SUBROUTINE REWRITTEN
030482,000330: # MOD NO: 4 MOD BY ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE
030483,000331: # MOD NO: 5 MOD BY: RR BAIRNSFATHER DATE: 6 AUG 68 OVFL CK FOR HAPO & HPER. VOIDS MOD #2.
030484,000332:
030485,000333: # NEW FUNCTIONAL DESCRIPTION: ORBITAL PARAMETERS DISPLAY FOR NOUNS 32 AND 44.
030486,000334: # SR30.1 CALLS TFFCONMU AND TFFRP/RA TO CALCULATE RPER (PERIGEE RADIUS),
030487,000335: # RAPO (APOGEE RADIUS), HPER (PERIGEE HEIGHT ABOVE LAUNCH PAD OR LUNAR
030488,000336: # LANDING SITE), HAPO (APOGEE HEIGHT AS ABOVE), TPER (TIME TO PERIGEE),
030489,000337: # TFF (TIME TO INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE).
030490,000338: # IF HPER IS GREATER THAN OR EQUAL TO HPERMIN, CALCULATES TPER AND STORES
030491,000339: # NEGATIVE IN -TPER. OTHERWISE STORES +0 IN -TPER. WHENEVER TPER IS
030492,000340: # CALCULATED, TFF IS NOT COMPUTABLE AND DEFAULTS TO -59MIN 59SEC. IF HAPO
030493,000341: # WOULD EXCEED 9999.9 NM, IT IS LIMITED TO THAT VALUE FOR DISPLAY.
030494,000342:
030495,000343: # ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE
030496,000344: # ABOVE REMARKS.
030497,000345:
030498,000346: # CALLING SEQUENCE: CALL
030499,000347: # SR30.1
030500,000348:
030501,000349: # SUBROUTINES CALLED: TFFCONMU, TFFRP/RA, CALCTPER, CALCTFF
030502,000350:
030503,000351: # NORMAL EXIT MODE: CALLING LINE +1 (STILL IN INTERPRETIVE MODE)
030504,000352:
030505,000353: # ALARMS: NONE
030506,000354:
030507,000355: # OUTPUT: RAPO (-29) M EARTH APOGEE RADIUS EARTH CENTERED COORD.
030508,000356: # (-27) M MOON MOON CENTERED COORD.
030509,000357: # RPER (-29) M EARTH PERIGEE RADIUS EARTH CENTERED COORD.
030510,000358: # (-27) M MOON MOON CENTERED COORD.
030511,000359: # HAPOX (-29) M APOGEE ALTITUDE ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM.
030512,000360: # HPERX (-29) M PERIGEE ALT. ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM.
030513,000361: # TFF (-28) CS TIME TO 300KFT OR 35KFT ALTITUDE
030514,000362: # -TPER (-28) CS TIME TO PERIGEE
030515,000363:
030516,000364: # ERASABLE INITIALIZATION REQUIRED-
030517,000365: # TFF/RTMU (+17) EARTH RECIPROCAL OF PROPER GRAV CONSTANT FOR
030518,000366: # (+14) MOON EARTH OR MOON = 1/SQRT(MU).
030519,000367: # RONE (-29) M STATE VECTOR
030520,000368: # VONE (-7) M/CS STATE VECTOR
030521,000369: # RPADTEM (-29) M EARTH RADIUS OF LAUNCH PAD OR LUNAR LANDING
030522,000370: # (-27) M MOON SITE.
030523,000371: # HPERMIN (-29) M EARTH (300 OR 35) KFT MINIMUM PERIGEE ALTITUDE
030524,000372: # (-27) M MOON ABOVE LAUNCH PAD OR LUNAR LANDING SITE.
030525,000373: # V82EMFLG (INT SW BIT) RESET FOR EARTH, SET FOR MOON.
030526,000374:
030527,000375: # DEBRIS: QPRET, PDL, S2
030528,000376:
![]() |
Page 722 |
030530,000378: 22,3551 COUNT* $$/SR30S
030531,000379:
030532,000380: 22,3551 44001 SR30.1 SETPD STQ # INITIALIZE PUSHDOWN LIST.
030533,000381: 22,3552 00001 0
030534,000382: 22,3553 00051 S2
030535,000383: # SR30.1 INPUT: RONE AT (-29)M EARTH/MOON
030536,000384: # VONE AT (-7)M/CS
030537,000385: # TFFCONMU, TFFRP/RA, CALCTPER AND CALCTFF
030538,000386: # CALLS REQUIRE:
030539,000387: # EARTH CENTERED (NO RESCALING REQUIRED)
030540,000388: # RONE SCALED TO B-29 M
030541,000389: # VONE SCALED TO B-7 M/CS
030542,000390: # MOON CENTERED (RESCALING REQUIRED)
030543,000391: # RONE SCALED TO B-27 M
030544,000392: # VONE SCALED TO B-5 M/CS
030545,000393: 22,3554 77214 BOFF VLOAD
030546,000394: 22,3555 03755 V82EMFLG # OFF FOR EARTH, ON FOR MOON.
030547,000395: 22,3556 45565 TFFCALLS
030548,000396: 22,3557 02207 RONE
030549,000397: 22,3560 77752 VSL2
030550,000398: 22,3561 26207 STOVL RONE
030551,000399: 22,3562 02215 VONE
030552,000400: 22,3563 77752 VSL2
030553,000401: 22,3564 02215 STORE VONE
030554,000402: 22,3565 77624 TFFCALLS CALL
030555,000403: 22,3566 57362 TFFCONMU
030556,000404: 22,3567 77624 CALL # TFFRP/RA COMPUTES RAPO,RPER.
030557,000405: 22,3570 57430 TFFRP/RA
030558,000406: # RETURNS WITH RAPO IN D(MPAC).
030559,000407: 22,3571 77625 DSU
030560,000408: 22,3572 02203 RPADTEM
030561,000409: 22,3573 64414 BOFF SR2R # NEED HAPO AT (-29)M FOR DISPLAY.
030562,000410: # IF MOON CENTERED, RESCALE FROM (-27)M.
030563,000411: # IF EARTH CENTERED ALREADY AT (-29)M.
030564,000412: 22,3574 03755 V82EMFLG # OFF FOR EARTH , ON FOR MOON.
030565,000413: 22,3575 45576 +1
030566,000414: 22,3576 77624 CALL # IF HAPO > MAXNM, SET HAPO =9999.9 NM.
030567,000415: 22,3577 45636 MAXCHK # OTHERWISE STORE (RAPO-RPADTEM) IN HAPO.
030568,000416: 22,3600 16120 STORHAPO STODL HAPOX
030569,000417: 22,3601 00017 RPER
030570,000418: 22,3602 77625 DSU
030571,000419: 22,3603 02203 RPADTEM # GIVES HPER AT (-29)M EARTH, (-27)M MOON.
030572,000420: 22,3604 00161 STORE MPAC +4 # SAVE THIS FOR COMPARISON TO HPERMIN.
030573,000421: 22,3605 64414 BOFF SR2R # NEED HPER AT (-29)M FOR DISPLAY.
030574,000422: # IF MOON CENTERED, RESCALE FROM (-27)M.
030575,000423: # IF EARTH CENTERED ALREADY AT (-29)M.
030576,000424: 22,3606 03755 V82EMFLG # OFF FOR EARTH, ON FOR MOON.
030577,000425: 22,3607 45610 +1
030578,000426: 22,3610 77624 CALL # IF HPER > MAXNM, SET HPER = 9999.9 NM.
030579,000427: 22,3611 45636 MAXCHK
![]() |
Page 723 |
030581,000429: 22,3612 16122 STORHPER STODL HPERX # STORE (RPER - RPADTEM) INTO HPERX.
030582,000430: 22,3613 00161 MPAC +4
030583,000431: 22,3614 51025 DSU BPL # HPERMIN AT (-29)M FOR EARTH, (-27)M MOON
030584,000432: 22,3615 02201 HPERMIN # IF HPER L/ HPERMIN (300 OR 35) KFT,
030585,000433: 22,3616 45622 DOTPER # THEN ZERO INTO -TPER.
030586,000434: 22,3617 52145 DLOAD GOTO # OTHERWISE CALCULATE TPER.
030587,000435: 22,3620 06524 HI6ZEROS
030588,000436: 22,3621 45626 SKIPTPER
030589,000437: 22,3622 45145 DOTPER DLOAD CALL
030590,000438: 22,3623 00017 RPER
030591,000439: 22,3624 57466 CALCTPER
030592,000440: 22,3625 77676 DCOMP # TPER IS PUT NEG INTO -TPER.
030593,000441: 22,3626 16143 SKIPTPER STODL -TPER
030594,000442: 22,3627 02201 HPERMIN # HPERMIN AT (-29)M FOR EARTH, (-27)M MOON
030595,000443: 22,3630 45015 DAD CALL
030596,000444: 22,3631 02203 RPADTEM # RPADTEM AT (-29)M FOR EARTH, (-27)M MOON
030597,000445: 22,3632 57471 CALCTFF # GIVES 59M59S FOR TFF IF RPER G/
030598,000446: 22,3633 77676 DCOMP # HPERMIN + RPADTEM. (TPER WAS NON ZERO)
030599,000447: 22,3634 36141 STCALL TFF # OTHERWISE COMPUTES TFF. (GOTO)
030600,000448: 22,3635 00051 S2
030601,000449:
030602,000450: 22,3636 51025 MAXCHK DSU BPL # IF C(MPAC) > 9999.9 NM, MPAC = 9999.9 NM
030603,000451: 22,3637 05646 MAXNM
030604,000452: 22,3640 45643 +3 # OTHERWISE C(MPAC) = B(MPAC).
030605,000453: 22,3641 43415 DAD RVQ
030606,000454: 22,3642 05646 MAXNM
030607,000455: 22,3643 43545 +3 DLOAD RVQ # (USED BY P30 - P37 ALSO)
030608,000456: 22,3644 05646 MAXNM
030609,000457:
030610,000458: 22,3645 01065 05603 MAXNM 2OCT 0106505603
030611,000459:
![]() |
Page 724
Empty page. |
030614,000462:
End of include-file R30.agc. Parent file is MAIN.agc