Source Code

These source-code files derive from a printout of Luminary 210 (Apollo 15-17 Lunar Module guidance computer program), from the personal library of original AGC developer Don Eyles, digitally photographed at archive.org, financially sponsored by Jim Lawton, and transcribed to source code by a team of volunteers. This colorized, syntax-highlighted form was created by assembling that transcribed source code. Note that the full page images are available on the Virtual AGC project page at archive.org, while reduced-size images are presented at the VirtualAGC project website. Report or fix any transcription errors at the Virtual AGC project code repository.

Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 210 OF AGC PROGRAM LUMINARY 
	BY NASA 2021112-161 17:11 MAR. 19,1971
Note that the date is the date of the printout, not the date of the program revision.

031219,000002:                                                                                                  ## Copyright:   Public domain.
031220,000003:                                                                                                  ## Filename:    R30.agc
031221,000004:                                                                                                  ## Purpose:     A section of Luminary revision 210.
031222,000005:                                                                                                  ##              It is part of the source code for the Lunar Module's (LM)
031223,000006:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 15-17.
031224,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
031225,000008:                                                                                                  ##              that the code format has been changed to conform to the
031226,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
031227,000010:                                                                                                  ##              original YUL assembler.
031228,000011:                                                                                                  ## Reference:   pp. 715-725
031229,000012:                                                                                                  ## Assembler:   yaYUL
031230,000013:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
031231,000014:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
031232,000015:                                                                                                  ## Mod history: 2016-11-17 JL   Created from Luminary131 version.
031233,000016:                                                                                                  ##              2016-12-01 RSB  Completed transcription.  The only changes were
031234,000017:                                                                                                  ##                              correction of typos and column alignment in the
031235,000018:                                                                                                  ##                              program comments.
031236,000019:                                                                                                  ##              2016-12-25 RSB  Comment-text proofed using ProoferComments
031237,000020:                                                                                                  ##                              and corrected errors found.
031238,000021:                                                                                                  ##              2017-02-08 RSB  Comment-text fixes discovered while proofing Artemis 72.
031239,000022:                                                                                                  ##              2017-03-17 RSB  Comment-text fixes identified in diff'ing
031240,000023:                                                                                                  ##                              Luminary 99 vs Comanche 55.
031241,000024: 

Page 715

031243,000026:                                                                                                  #  SUBROUTINE NAME:     V82CALL
031244,000027:                                                                                                  #  MOD NO:  0                                                              DATE:           16 FEB 67
031245,000028:                                                                                                  #  MOD BY:  RR BAIRNSFATHER                                                LOG SECTION:    R30
031246,000029:                                                                                                  #  MOD NO: 1            MOD BY: RR BAIRNSFATHER       DATE: 11 APR 67      SR30.1 CHANGED TO ALLOW MONITOR OPERN
031247,000030:                                                                                                  #  MOD  NO: 2           MOD  BY ALONSO                DATE : 11 DEC 67     VB82 PROGRAM REWRITTEN
031248,000031:                                                                                                  #  MOD NO: 3            MOD  BY ALONSO                DATE: 26 MAR 68      PROG MOD TO HANDLE DIF EARTH/MOON SCALE
031249,000032:                                                                                                  #   NEW FUNCTIONAL DESCRIPTION:    CALLED BY VERB 82 ENTER.  PRIORITY 10
031250,000033:                                                                                                  #    USED THROUGHOUT.              CALCULATE AND DISPLAY ORBITAL PARAMETERS
031251,000034: 
031252,000035:                                                                                                  #  1. IF AVERAGE G IS OFF:
031253,000036:                                                                                                  #           FLASH DISPLAY V04N06. R2 INDICATES WHICH SHIP'S STATE VECTOR IS
031254,000037:                                                                                                  #            TO BE UPDATED. INITIAL CHOICE IS THIS SHIP (R2=1). ASTRONAUT
031255,000038:                                                                                                  #            CAN CHANGE TO OTHER SHIP BY V22EXE, WHERE X NOT EQ 1.
031256,000039:                                                                                                  #           SELECTED STATE VECTOR UPDATED BY THISPREC (OTHPREC).
031257,000040:                                                                                                  #           CALLS SR30.1 (WHICH CALLS TFFCONMU + TFFRP/RA) TO CALCULATE
031258,000041:                                                                                                  #            RPER (PERIGEE RADIUS), RAPO (APOGEE RADIUS), HPER (PERIGEE
031259,000042:                                                                                                  #            HEIGHT ABOVE LAUNCH PAD OR LUNAR LANDING SITE), HAPO (APOGEE
031260,000043:                                                                                                  #            HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), TFF (TIME TO
031261,000044:                                                                                                  #            INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE).
031262,000045:                                                                                                  #           FLASH MONITOR V16N44 (HAPO, HPER, TFF).TFF IS -59M59S IF IT WAS
031263,000046:                                                                                                  #            NOT COMPUTABLE, OTHERWISE IT INCREMENTS ONCE PER SECOND.
031264,000047:                                                                                                  #            ASTRONAUT HAS OPTION TO MONITOR TPER BY KEYING IN N 32 E.
031265,000048:                                                                                                  #            DISPLAY IS IN HMS, IS NEGATIVE (AS WAS TFF), AND INCREMENTS
031266,000049:                                                                                                  #            ONCE PER SECOND ONLY IF TFF DISPLAY WAS -59M59S.
031267,000050: 
031268,000051:                                                                                                  #  2. IF AVERAGE G IS ON:
031269,000052:                                                                                                  #           CALLS SR30.1 APPROX EVERY TWO SECS.  STATE VECTOR IS ALWAYS
031270,000053:                                                                                                  #            FOR THIS VEHICLE. V82 DOES NOT DISTURB STATE VECTOR.  RESULTS
031271,000054:                                                                                                  #            OF SR30.1 ARE RAPO, RPER, HAPO, HPER, TPER, TFF.
031272,000055:                                                                                                  #           FLASH MONITOR V16N44 (HAPO, HPER, TFF).
031273,000056:                                                                                                  #  ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE
031274,000057:                                                                                                  #            ABOVE REMARKS.
031275,000058: 
031276,000059:                                                                                                  #  CALLING SEQUENCE:  VERB 82 ENTER.
031277,000060: 
031278,000061: 
031279,000062:                                                                                                  #  SUBROUTINES CALLED:  SR30.1, GOXDSPF
031280,000063:                                                                                                  #                       MAYBE - THISPREC , OTHPREC, LOADTIME, DELRSPL
031281,000064:                                                                                                  #  NORMAL EXIT MODES:  TC ENDEXT
031282,000065: 
031283,000066:                                                                                                  #  ALARMS:  NONE
031284,000067: 
031285,000068:                                                                                                  #  OUTPUT:  HAPOX    (-29) M
031286,000069:                                                                                                  #           HPERX    (-29) M
031287,000070:                                                                                                  #           RAPO     (-29) M EARTH
031288,000071:                                                                                                  #                    (-27) M MOON
031289,000072:                                                                                                  #           RPER     (-29) M EARTH
031290,000073:                                                                                                  #                    (-27) M MOON
031291,000074:                                                                                                  #           TFF      (-28) CS      CONTAINS NEGATIVE QUANTITY
031292,000075:                                                                                                  #           -TPER    (-28) CS      CONTAINS NEGATIVE QUANTITY
031293,000076: 

Page 716

031295,000078:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED: STATE VECTOR.
031296,000079: 
031297,000080:                                                                                                  #  DEBRIS:  QPRET, RONE, VONE,TFF/RTMU, HPERMIN, RPADTEM, V82EMFLG.
031298,000081:                                                                                                  #           MAYBE: TSTART82, V82FLAGS, TDEC1.
031299,000082: 
031300,000083: 13,2374  E4,1512                                  EBANK=   HAPOX                                 
031301,000084: 31,2144                                           BANK     31                                    
031302,000085: 22,2000                                           SETLOC   R30LOC                                
031303,000086: 22,2000                                           BANK                                           
031304,000087: 22,3244                                           COUNT*   $$/R30                                
031305,000088: 
031306,000089: 22,3244           06060        V82CALL            TC       INTPRET                               
031307,000090: 22,3245           52014                           BON      GOTO                                  
031308,000091: 22,3246           03712                                    AVEGFLAG                              
031309,000092: 22,3247           45467                                    V82GON                                #  IF AVERAGE G ON
031310,000093: 22,3250           45251                                    V82GOFF                               #  IF AVERAGE G OFF
031311,000094: 
031312,000095: 22,3251           77776        V82GOFF            EXIT                                           #  ALLOW ASTRONAUT TO SELECT VEHICLE
031313,000096: 22,3252           34743                           CAF      TWO                                   #  DESIRED FOR ORBITAL PARAMETERS
031314,000097: 22,3253           55050                           TS       OPTIONX                               #  CALCULATION AND DISPLAY.
031315,000098: 22,3254           34744                           CAF      ONE                                   
031316,000099: 22,3255           55051                           TS       OPTIONX    +1                         
031317,000100: 22,3256           33320                           CAF      OPTIONVN                              #  V 04 N 06
031318,000101: 22,3257           04607                           TC       BANKCALL                              
031319,000102: 22,3260           20323                           CADR     GOXDSPF                               
031320,000103: 22,3261           05474                           TC       ENDEXT                                #  TERMINATE
031321,000104: 22,3262           03264                           TC       +2                                    #  PROCEED
031322,000105: 22,3263           03256                           TC       -5                                    #  DATA IN. OPTION1+1 = 1 FOR THIS VEHICLE.
031323,000106:                                                                                                  #                 UNEQ 1 FOR OTHER VEHICLE.
031324,000107: 22,3264           34741                           CAF      BIT4                                  #  80 MS
031325,000108: 22,3265           05205                           TC       WAITLIST                              
031326,000109: 22,3266  E4,1531                                  EBANK=   TFF                                   
031327,000110: 22,3266           03432 44064                     2CADR    TICKTEST                              
031328,000111: 
031329,000112: 22,3270           00003                           RELINT                                         
031330,000113: 22,3271           33322        V82GOFLP           CAF      TFFBANK                               #  MAJOR RECYCLE LOOP ENTRY
031331,000114: 22,3272           54003                           TS       EBANK                                 
031332,000115: 22,3273           34746                           CAF      ZERO                                  
031333,000116: 22,3274           55530                           TS       V82FLAGS                              #  ZERO FLAGS FOR TICKTEST. INHIBITS
031334,000117:                                                                                                  #  DECREMENTING OF TFF AND -TPER.
031335,000118: 22,3275           35012                           CAF      PRIO7                                 
031336,000119: 22,3276           05076                           TC       FINDVAC                               #  V82GOFF1 WILL EXECUTE STATE VECTOR
031337,000120: 22,3277  E4,1531                                  EBANK=   TFF                                   #  UPDATE AND ORBIT CALCULATIONS FOR
031338,000121: 22,3277           03323 44064                     2CADR    V82GOFF1                              #  SELECTED VEHICLE ABOUT PROPER BODY.
031339,000122: 
031340,000123: 22,3301           00003                           RELINT                                         
031341,000124: 22,3302           36266        V82STALL           CAF      THREE                                 #  STALL IN THIS LOOP AND WITHOLD V 16 N 44

Page 717

031343,000126: 22,3303           71530                           MASK     V82FLAGS                              #  UNTIL STATE VECTOR UPDATE SETS ONE OF
031344,000127: 22,3304           10000                           CCS      A                                     #  OUR FLAG BITS.
031345,000128: 22,3305           03312                           TC       FLAGGON                               #  EXIT FROM STALL LOOP.
031346,000129: 22,3306           34770                           CAF      1SEC                                  
031347,000130: 22,3307           04607                           TC       BANKCALL                              
031348,000131: 22,3310           01736                           CADR     DELAYJOB                              
031349,000132: 22,3311           03302                           TC       V82STALL                              
031350,000133: 
031351,000134: 22,3312           33321        FLAGGON            CAF      V16N44                                #  MONITOR HAPO,HPER,TFF.
031352,000135: 22,3313           04607                           TC       BANKCALL                              
031353,000136: 22,3314           20323                           CADR     GOXDSPF                               
031354,000137: 22,3315           05565                           TC       B5OFF                                 #  TERM  THIS TELLS TICKTEST TO KILL ITSELF
031355,000138: 22,3316           05565                           TC       B5OFF                                 #  PROCEED  DITTO
031356,000139: 22,3317           03271                           TC       V82GOFLP                              #  RECYCLE  RECOMPUTE STATE VECT + DISPLAY
031357,000140: 
031358,000141: 22,3320           01014        OPTIONVN           VN       412                                   
031359,000142: 22,3321           04054        V16N44             VN       1644                                  
031360,000143: 22,3322           02131        TFFBANK            ECADR    TFF                                   
031361,000144: 
031362,000145: 22,3323           06060        V82GOFF1           TC       INTPRET                               
031363,000146: 22,3324           77634                           RTB                                            
031364,000147: 22,3325           21603                                    LOADTIME                              
031365,000148: 22,3326           00041                           STORE    TDEC1                                 #  TIME FOR STATE VECTOR UPDATE.
031366,000149: 22,3327           02176                           STORE    TSTART82                              #  TIME FOR INTERNAL USE.
031367,000150: 22,3330           77776                           EXIT                                           
031368,000151: 22,3331           41051                           CS       OPTIONX    +1                         #  1 FOR THIS VEHICLE, NOT 1 FOR OTHER.
031369,000152: 22,3332           64744                           AD       ONE                                   
031370,000153: 22,3333           00006                           EXTEND                                         
031371,000154: 22,3334           13360                           BZF      THISSHIP                              
031372,000155: 22,3335           06060        OTHSHIP            TC       INTPRET                               
031373,000156: 22,3336           77624                           CALL                                           #  CALL STATE VECTOR UPDATE FOR OTHER SHIP.
031374,000157: 22,3337           27101                                    OTHPREC                               
031375,000158: 22,3340           77775        BOTHSHIP           VLOAD                                          #  MOVE RESULTS INTO TFFCONIC STORAGE AREAS
031376,000159: 22,3341           00001                                    RATT                                  #   TO BE CALLED BY SR30.1.
031377,000160: 22,3342           26200                           STOVL    RONE                                  #  RATT AT (-29)M FOR EARTH OR MOON
031378,000161: 22,3343           00007                                    VATT                                  
031379,000162: 22,3344           02206                           STORE    VONE                                  #   VATT AT (-7)M/CS FOR EARTH OR MOON
031380,000163: 22,3345           77743                           DLOAD*                                         
031381,000164: 22,3346           73774                                    1/RTMUE,2                             #   X2 IS 0 FOR EARTH CENTERED STATE VEC
031382,000165: 22,3347           00037                           STORE    TFF/RTMU                              #   X2 IS 2 FOR MOON
031383,000166: 22,3350           77743                           DLOAD*                                         #  AS LEFT BY THISPREC OR OTHPREC.
031384,000167: 22,3351           72407                                    MINPERE,2                             
031385,000168: 22,3352           02172                           STORE    HPERMIN                               #    TFFRTMU, HPERMIN AND RPADTEM ARE ALL
031386,000169: 22,3353           46135                           SLOAD    BHIZ                                  #  EARTH/MOON PARAMETERS AS SET HERE.
031387,000170: 22,3354           00050                                    X2                                    
031388,000171: 22,3355           45371                                    EARTHPAD                              
031389,000172: 22,3356           77650                           GOTO                                           
031390,000173: 22,3357           45375                                    MOONPAD                               

Page 718

031392,000175: 22,3360           06060        THISSHIP           TC       INTPRET                               
031393,000176: 22,3361           77624                           CALL                                           #  CALL STATE VECTOR UPDATE FOR THIS SHIP.
031394,000177: 22,3362           27115                                    THISPREC                              
031395,000178: 22,3363           77650                           GOTO                                           
031396,000179: 22,3364           45340                                    BOTHSHIP                              
031397,000180: 
031398,000181:                                                                                                  #  THE FOLLOWING CONSTANTS ARE PAIRWISE INDEXED. DO NOT SEPARATE PAIRS.
031399,000182: 
031400,000183: 22,3365           00001 11530  MINPERM            2DEC     10668      B-27                       #  35 KFT MIN PERIGEE HEIGHT FOR MOON(-27)M
031401,000184: 
031402,000185: 22,3367           00002 31230  MINPERE            2DEC     91440      B-29                       #  300 KFT (-29)M FOR EARTH
031403,000186: 
031404,000187: 22,3371           43145        EARTHPAD           DLOAD    CLRGO                                 #   PAD 37-B RADIUS.  SCALED AT (-29)M.
031405,000188: 22,3372           06336                                    RPAD                                  
031406,000189: 22,3373           03635                                    V82EMFLG                              #   INDICATE EARTH SCALING FOR SR30.1
031407,000190: 22,3374           45401                                    BOTHPAD                               
031408,000191: 
031409,000192: 22,3375           51575        MOONPAD            VLOAD    ABVAL                                 #  COMPUTE MOON PAD RADIUS FROM RLS VECTOR.
031410,000193: 22,3376           02021                                    RLS                                   #   SCALED AT (-27)M.
031411,000194: 22,3377           77614                           SET                                            
031412,000195: 22,3400           03475                                    V82EMFLG                              #   INDICATE MOON SCALING FOR SR30.1
031413,000196: 22,3401           36174        BOTHPAD            STCALL   RPADTEM                               
031414,000197: 22,3402           45553                                    SR30.1                                #  CALCULATE ORBITAL PARAMETERS
031415,000198: 22,3403           45234                           RTB      DSU                                   
031416,000199: 22,3404           21603                                    LOADTIME                              
031417,000200: 22,3405           02176                                    TSTART82                              #  PRESENT TIME - TIME V82GOFF1 BEGAN
031418,000201: 22,3406           02176                           STORE    TSTART82                              #                 SAVE IT
031419,000202: 22,3407           53145                           DLOAD    BZE                                   #  SR30.1 SETS -TPER=0 IF HPER L/
031420,000203: 22,3410           02134                                    -TPER                                 #   HPERMIN (300 OR 35) KFT.
031421,000204: 22,3411           45422                                    TICKTIFF                              #  (-TPER = 0)
031422,000205: 22,3412           43345        TICKTPER           DLOAD    DAD                                   #  (-TPER NON ZERO)  TFF WAS NOT COMPUTED,
031423,000206: 22,3413           02134                                    -TPER                                 #  BUT WAS SET TO 59M59S.DONT TICK TFF, DO
031424,000207: 22,3414           02176                                    TSTART82                              #  TICK -TPER. DISPLAY BOTH.
031425,000208: 22,3415           02134                           STORE    -TPER                                 #  -TPER CORRECTED FOR TIME SINCE V82GOFF1
031426,000209: 22,3416           77776                           EXIT                                           #  BEGAN.
031427,000210: 22,3417           34744                           CAF      BIT1                                  
031428,000211: 22,3420           55530                           TS       V82FLAGS                              #  INFORMS TICKTEST TO INCREMENT ONLY -TPER
031429,000212: 22,3421           05146                           TC       ENDOFJOB                              
031430,000213: 
031431,000214: 22,3422           43345        TICKTIFF           DLOAD    DAD                                   #  (-TPER=0) TFF WAS COMPUTED.TICK TFF.
031432,000215: 22,3423           02132                                    TFF                                   #  DO NOT TICK -TPER.DISPLAY TFF, BUT NOT
031433,000216: 22,3424           02176                                    TSTART82                              #  -TPER.
031434,000217: 22,3425           02132                           STORE    TFF                                   #  TFF CORRECTED FOR TIME SINCE V82GOFF1
031435,000218: 22,3426           77776                           EXIT                                           #  BEGAN.
031436,000219: 22,3427           34743                           CAF      BIT2                                  
031437,000220: 22,3430           55530                           TS       V82FLAGS                              #  INFORMS TICKTEST TO INCREMENT ONLY TFF.
031438,000221: 22,3431           05146                           TC       ENDOFJOB                              
031439,000222: 

Page 719

031441,000224: 22,3432           34740        TICKTEST           CAF      BIT5                                  #  THIS WAITLIST PROGRAM PERPETUATES ITSELF
031442,000225: 22,3433           71043                           MASK     EXTVBACT                              #  ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0.
031443,000226: 22,3434           10000                           CCS      A                                     
031444,000227: 22,3435           03443                           TC       DOTICK                                
031445,000228: 22,3436           37734                           CAF      PRIO25                                
031446,000229: 22,3437           05063                           TC       NOVAC                                 #  TERMINATE V 82.CANT CALL ENDEXT IN RUPT.
031447,000230: 22,3440     1043                                  EBANK=   EXTVBACT                              
031448,000231: 22,3440           05474 04062                     2CADR    ENDEXT                                
031449,000232: 
031450,000233: 22,3442           05263                           TC       TASKOVER                              
031451,000234: 22,3443           34770        DOTICK             CAF      1SEC                                  #  RE-REQUEST TICKTEST.
031452,000235: 22,3444           05205                           TC       WAITLIST                              
031453,000236: 22,3445  E4,1531                                  EBANK=   TFF                                   
031454,000237: 22,3445           03432 44064                     2CADR    TICKTEST                              
031455,000238: 
031456,000239: 22,3447           36266                           CAF      THREE                                 
031457,000240: 22,3450           71530                           MASK     V82FLAGS                              
031458,000241: 22,3451           50000                           INDEX    A                                     
031459,000242: 22,3452           03453                           TC       +1                                    
031460,000243: 22,3453           05263                           TC       TASKOVER                              #  IF NO FLAGBITS SET DONT CHANGE TFF OR
031461,000244:                                                                                                  #  -TPER, BUT CONTINUE LOOP.
031462,000245: 22,3454           03462                           TC       TPERTICK                              #  ONLY BIT 1 SET. INCR -TPER BY 1 SEC.
031463,000246: 22,3455           34770        TFFTICK            CAF      1SEC                                  #  ONLY BIT 2 SET. INCR TFF BY 1 SEC.
031464,000247: 22,3456           54001                           TS       L                                     
031465,000248: 22,3457           34746                           CAF      ZERO                                  
031466,000249: 22,3460           21532                           DAS      TFF                                   
031467,000250: 22,3461           05263                           TC       TASKOVER                              
031468,000251: 22,3462           34770        TPERTICK           CAF      1SEC                                  
031469,000252: 22,3463           54001                           TS       L                                     
031470,000253: 22,3464           34746                           CAF      ZERO                                  
031471,000254: 22,3465           21534                           DAS      -TPER                                 
031472,000255: 22,3466           05263                           TC       TASKOVER                              
031473,000256: 

Page 720

031475,000258: 22,3467           77776        V82GON             EXIT                                           #   AVERAGE G ON.  USE CURRENT STATE VECTOR
031476,000259:                                                                                                  #  FOR ORBITAL PARAMETER CALCULATIONS.
031477,000260: 22,3470           35012                           CAF      PRIO7                                 #  LESS THAN LAMBERT
031478,000261: 22,3471           05076                           TC       FINDVAC                               #  V82GON1 WILL PERFORM ORBIT CALCULATIONS
031479,000262: 22,3472  E4,1531                                  EBANK=   TFF                                   #  ABOUT PROPER BODY APPROX ONCE PER SEC.
031480,000263: 22,3472           03505 44064                     2CADR    V82GON1                               
031481,000264: 
031482,000265: 22,3474           00003                           RELINT                                         
031483,000266: 22,3475           10067                           CCS      NEWJOB                                #  WITHOLD V16 N44 UNTIL FIRST ORBIT CALC
031484,000267: 22,3476           05113                           TC       CHANG1                                #  IS DONE. NOTE: V82GON1 (PRIO7, FINDVAC
031485,000268:                                                                                                  #  JOB) IS COMPLETED BEFORE V82GON (PRIO7,
031486,000269:                                                                                                  #  NOVAC JOB).
031487,000270: 22,3477           33321        V82REDSP           CAF      V16N44                                #  MONITOR HAPO, HPER, TFF
031488,000271: 22,3500           04607                           TC       BANKCALL                              
031489,000272: 22,3501           20323                           CADR     GOXDSPF                               
031490,000273: 22,3502           05565                           TC       B5OFF                                 #  TERM THIS TELLS V82GON1 TO KILL ITSELF.
031491,000274: 22,3503           05565                           TC       B5OFF                                 #  PROC DITTO.
031492,000275: 22,3504           03477                           TC       V82REDSP                              #  RECYCLE
031493,000276: 
031494,000277: 22,3505           06060        V82GON1            TC       INTPRET                               #  THIS EXEC PROGRAM PERPETUATES ITSELF
031495,000278:                                                                                                  #  ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0.
031496,000279: 22,3506           52175                           VLOAD    GOTO                                  #  HOLDS OFF CCS NEWJOB BETWEEN RN AND
031497,000280: 22,3507           01220                                    RN                                    #    VN FETCH SO RN , VN ARE FROM SAME
031498,000281: 22,3510           45511                                    NEXTLINE                              #    STATE VECTOR UPDATE.
031499,000282: 22,3511           26200        NEXTLINE           STOVL    RONE                                  #   RN AT (-29)M FOR EARTH OR MOON
031500,000283: 22,3512           01226                                    VN                                    
031501,000284: 22,3513           02206                           STORE    VONE                                  #  VN AT (-7)M/CS FOR EARTH OR MOON
031502,000285: 22,3514           52014                           BON      GOTO                                  
031503,000286: 22,3515           04304                                    MOONTHIS                              #  FLAG INDICATES BODY ABOUT WHICH ORBITAL
031504,000287: 22,3516           45520                                    MOONGON                               #     CALCULATIONS ARE TO BE PERFORMED.
031505,000288: 22,3517           45531                                    EARTHGON                              #    IF SET - MOON , IF RESET - EARTH.
031506,000289: 
031507,000290: 22,3520           71214        MOONGON            SET      DLOAD                                 
031508,000291: 22,3521           03475                                    V82EMFLG                              #  INDICATE MOON SCALING FOR SR30.1
031509,000292: 22,3522           04001                                    1/RTMUM                               #  LUNAR PARAMETERS LOADED HERE FOR SR30.1
031510,000293: 22,3523           14037                           STODL    TFF/RTMU                              
031511,000294: 22,3524           05366                                    MINPERM                               
031512,000295: 22,3525           26172                           STOVL    HPERMIN                               
031513,000296: 22,3526           02021                                    RLS                                   #   SCALED AT (-27)M.
031514,000297: 22,3527           52046                           ABVAL    GOTO                                  
031515,000298: 22,3530           45540                                    V82GON2                               
031516,000299: 22,3531           71214        EARTHGON           CLEAR    DLOAD                                 
031517,000300: 22,3532           03675                                    V82EMFLG                              #  INDICATE EARTH SCALING FOR SR30.1
031518,000301: 22,3533           04003                                    1/RTMUE                               #  EARTH PARAMETERS LOADED HERE FOR SR30.1
031519,000302: 22,3534           14037                           STODL    TFF/RTMU                              
031520,000303: 22,3535           05370                                    MINPERE                               
031521,000304: 22,3536           16172                           STODL    HPERMIN                               
031522,000305: 22,3537           06336                                    RPAD                                  
031523,000306: 22,3540           36174        V82GON2            STCALL   RPADTEM                               #  COMMON CODE FOR EARTH & MOON.
031524,000307: 22,3541           45553                                    SR30.1                                

Page 721

031526,000309: 22,3542           77776                           EXIT                                           
031527,000310: 22,3543           34740        V82GON3            CAF      BIT5                                  
031528,000311: 22,3544           71043                           MASK     EXTVBACT                              #  SEE IF ASTRONAUT HAS SIGNALLED TERMINATE
031529,000312: 22,3545           00006                           EXTEND                                         
031530,000313: 22,3546           15474                           BZF      ENDEXT                                #  YES, TERMINATE VB 82 LOOP
031531,000314: 22,3547           34770                           CAF      1SEC                                  
031532,000315: 22,3550           04607                           TC       BANKCALL                              #  WAIT ONE SECOND BEFORE REPEATING
031533,000316: 22,3551           01736                           CADR     DELAYJOB                              #    ORBITAL PARAMETER COMPUTATION.
031534,000317: 22,3552           03505                           TC       V82GON1                               
031535,000318: 
031536,000319: 22,3553  22,3543               SPLRET             =        V82GON3                               
031537,000320: 

Page 722

031539,000322:                                                                                                  #  SUBROUTINE NAME: SR30.1
031540,000323:                                                                                                  #  MOD NO:  0                                                              DATE:           16 FEB 67
031541,000324:                                                                                                  #  MOD BY:  RR BAIRNSFATHER                                                LOG SECTION:    R32
031542,000325:                                                                                                  #  MOD NO:  1           MOD BY:  RR BAIRNSFATHER      DATE: 11 APR 67      SR30.1 CHANGED TO ALLOW MONITOR OPERN
031543,000326:                                                                                                  #  MOD NO:  2           MOD BY:  RR BAIRNSFATHER      DATE:  14 APR 67     ADD OVFL CK FOR RAPO
031544,000327:                                                                                                  #  MOD NO:  3           MOD BY ALONSO                 DATE: 11 DEC 67      SUBROUTINE REWRITTEN
031545,000328:                                                                                                  #  MOD NO: 4            MOD BY ALONSO                 DATE: 26 MAR 68      PROG MOD TO HANDLE DIF EARTH/MOON SCALE
031546,000329:                                                                                                  #  MOD NO:  5           MOD BY:  RR BAIRNSFATHER      DATE:  6 AUG 68      OVFL CK FOR HAPO & HPER.VOIDS MOD #2.
031547,000330: 
031548,000331:                                                                                                  #  NEW FUNCTIONAL DESCRIPTION:     ORBITAL PARAMETERS DISPLAY FOR NOUNS 32  AND 44.
031549,000332:                                                                                                  #  SR30.1 CALLS TFFCONMU AND TFFRP/RA TO CALCULATE RPER (PERIGEE RADIUS),
031550,000333:                                                                                                  #  RAPO (APOGEE RADIUS), HPER (PERIGEE HEIGHT ABOVE LAUNCH PAD OR LUNAR
031551,000334:                                                                                                  #  LANDING SITE), HAPO (APOGEE HEIGHT AS ABOVE), TPER (TIME TO PERIGEE),
031552,000335:                                                                                                  #  TFF (TIME TO INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE).
031553,000336:                                                                                                  #  IF HPER IS GREATER THAN OR EQUAL TO HPERMIN, CALCULATES TPER AND STORES
031554,000337:                                                                                                  #  NEGATIVE    IN -TPER. OTHERWISE STORES +0 IN -TPER. WHENEVER TPER IS
031555,000338:                                                                                                  #  CALCULATED, TFF IS NOT COMPUTABLE AND DEFAULTS TO -59MIN 59SEC. IF HAPO
031556,000339:                                                                                                  #  WOULD EXCEED 9999.9 NM, IT IS LIMITED TO THAT VALUE FOR DISPLAY.
031557,000340: 
031558,000341:                                                                                                  #  ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE
031559,000342:                                                                                                  #            ABOVE REMARKS.
031560,000343: 
031561,000344:                                                                                                  #  CALLING SEQUENCE:         CALL
031562,000345:                                                                                                  #                                  SR30.1
031563,000346:                                                                                                  #  SUBROUTINES CALLED:       TFFCONMU, TFFRP/RA, CALCTPER, CALCTFF
031564,000347:                                                                                                  #  NORMAL EXIT MODE:         CALLING LINE +1 (STILL IN INTERPRETIVE MODE)
031565,000348:                                                                                                  #  ALARMS:                   NONE
031566,000349:                                                                                                  #  OUTPUT:  RAPO   (-29) M EARTH   APOGEE RADIUS   EARTH CENTERED COORD.
031567,000350:                                                                                                  #                  (-27) M MOON                    MOON CENTERED COORD.
031568,000351:                                                                                                  #           RPER   (-29) M EARTH   PERIGEE RADIUS  EARTH CENTERED COORD.
031569,000352:                                                                                                  #                  (-27) M MOON                    MOON CENTERED COORD.
031570,000353:                                                                                                  #           HAPOX  (-29) M         APOGEE ALTITUDE ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM.
031571,000354:                                                                                                  #           HPERX  (-29) M         PERIGEE ALT. ABOVE PAD OR LAND. SITE    MAX VALUE LIMITED TO 9999.9 NM.
031572,000355:                                                                                                  #           TFF    (-28) CS        TIME TO 300KFT OR 35KFT ALTITUDE
031573,000356:                                                                                                  #           -TPER  (-28) CS        TIME TO PERIGEE
031574,000357:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED-
031575,000358:                                                                                                  #           TFF/RTMU (+17) EARTH   RECIPROCAL OF PROPER GRAV CONSTANT FOR
031576,000359:                                                                                                  #                    (+14) MOON    EARTH OR MOON = 1/SQRT(MU).
031577,000360:                                                                                                  #           RONE    (-29) M        STATE VECTOR
031578,000361:                                                                                                  #           VONE    (-7) M/CS      STATE VECTOR
031579,000362:                                                                                                  #           RPADTEM (-29) M EARTH  RADIUS OF LAUNCH PAD OR LUNAR LANDING
031580,000363:                                                                                                  #                   (-27) M MOON   SITE.
031581,000364:                                                                                                  #           HPERMIN (-29) M EARTH  (300 OR 35)KFT MINIMUM PERIGEE ALTITUDE
031582,000365:                                                                                                  #                   (-27) M MOON   ABOVE LAUNCH PAD OR LUNAR LANDING SITE.
031583,000366:                                                                                                  #           V82EMFLG (INT SW BIT) RESET FOR EARTH, SET FOR MOON.
031584,000367: 
031585,000368:                                                                                                  #  DEBRIS:       QPRET, PDL, S2
031586,000369: 

Page 723

031588,000371: 22,3553                                           COUNT*   $$/SR30S                              
031589,000372: 
031590,000373: 22,3553           44001        SR30.1             SETPD    STQ                                   #  INITIALIZE PUSHDOWN LIST.
031591,000374: 22,3554           00001                                    0                                     
031592,000375: 22,3555           00051                                    S2                                    
031593,000376:                                                                                                  #  SR30.1 INPUT: RONE AT (-29)M EARTH/MOON
031594,000377:                                                                                                  #                VONE AT (-7)M/CS
031595,000378:                                                                                                  #   TFFCONMU,TFFRP/RA,CALCTPER AND CALCTFF
031596,000379:                                                                                                  #   CALLS REQUIRE:
031597,000380:                                                                                                  #   EARTH CENTERED (NO RESCALING REQUIRED)
031598,000381:                                                                                                  #                 RONE SCALED TO B-29 M
031599,000382:                                                                                                  #                 VONE SCALED TO B-7 M/CS
031600,000383:                                                                                                  #   MOON CENTERED   (RESCALING REQUIRED)
031601,000384:                                                                                                  #                 RONE SCALED TO B-27 M
031602,000385:                                                                                                  #                 VONE SCALED TO B-5  M/CS
031603,000386: 22,3556           77214                           BOFF     VLOAD                                 
031604,000387: 22,3557           03755                                    V82EMFLG                              #    OFF FOR EARTH , ON FOR MOON.
031605,000388: 22,3560           45567                                    TFFCALLS                              
031606,000389: 22,3561           02200                                    RONE                                  
031607,000390: 22,3562           77752                           VSL2                                           
031608,000391: 22,3563           26200                           STOVL    RONE                                  
031609,000392: 22,3564           02206                                    VONE                                  
031610,000393: 22,3565           77752                           VSL2                                           
031611,000394: 22,3566           02206                           STORE    VONE                                  
031612,000395: 22,3567           77624        TFFCALLS           CALL                                           
031613,000396: 22,3570           57364                                    TFFCONMU                              
031614,000397: 22,3571           77624                           CALL                                           #  TFFRP/RA COMPUTES RAPO,RPER.
031615,000398: 22,3572           57432                                    TFFRP/RA                              
031616,000399:                                                                                                  #  RETURNS WITH RAPO IN D(MPAC).
031617,000400: 22,3573           77625                           DSU                                            
031618,000401: 22,3574           02174                                    RPADTEM                               
031619,000402: 22,3575           64414                           BOFF     SR2R                                  #  NEED HAPO AT (-29)M FOR DISPLAY.
031620,000403:                                                                                                  #  IF MOON CENTERED, RESCALE FROM (-27)M.
031621,000404:                                                                                                  #   IF EARTH CENTERED ALREADY AT (-29)M.
031622,000405: 22,3576           03755                                    V82EMFLG                              #   OFF FOR EARTH , ON FOR MOON.
031623,000406: 22,3577           45600                                    +1                                    
031624,000407: 22,3600           77624                           CALL                                           #  IF HAPO > MAXNM, SET HAPO =9999.9 NM.
031625,000408: 22,3601           45640                                    MAXCHK                                #  OTHERWISE STORE (RAPO-RPADTEM) IN HAPO.
031626,000409: 22,3602           16113        STORHAPO           STODL    HAPOX                                 
031627,000410: 22,3603           00017                                    RPER                                  
031628,000411: 22,3604           77625                           DSU                                            
031629,000412: 22,3605           02174                                    RPADTEM                               #  GIVES HPER AT (-29)M EARTH, (-27)M MOON.
031630,000413: 22,3606           00161                           STORE    MPAC       +4                         #  SAVE THIS FOR COMPARISON TO HPERMIN.
031631,000414: 22,3607           64414                           BOFF     SR2R                                  #  NEED HPER AT (-29)M FOR DISPLAY.
031632,000415:                                                                                                  #  IF MOON CENTERED, RESCALE FROM (-27)M.
031633,000416:                                                                                                  #  IF EARTH CENTERED ALREADY AT (-29)M.
031634,000417: 22,3610           03755                                    V82EMFLG                              #  OFF FOR EARTH,  ON FOR MOON.
031635,000418: 22,3611           45612                                    +1                                    
031636,000419: 22,3612           77624                           CALL                                           #  IF HPER > MAXNM, SET HPER = 9999.9 NM.
031637,000420: 22,3613           45640                                    MAXCHK                                

Page 724

031639,000422: 22,3614           16115        STORHPER           STODL    HPERX                                 #  STORE (RPER - RPADTEM) INTO HPERX.
031640,000423: 22,3615           00161                                    MPAC       +4                         
031641,000424: 22,3616           51025                           DSU      BPL                                   #  HPERMIN AT (-29)M FOR EARTH, (-27)M MOON
031642,000425: 22,3617           02172                                    HPERMIN                               #  IF HPER L/   HPERMIN (300 OR 35) KFT,
031643,000426: 22,3620           45624                                    DOTPER                                #   THEN ZERO INTO -TPER.
031644,000427: 22,3621           52145                           DLOAD    GOTO                                  #    OTHERWISE CALCULATE TPER.
031645,000428: 22,3622           06505                                    HI6ZEROS                              
031646,000429: 22,3623           45630                                    SKIPTPER                              
031647,000430: 22,3624           45145        DOTPER             DLOAD    CALL                                  
031648,000431: 22,3625           00017                                    RPER                                  
031649,000432: 22,3626           57470                                    CALCTPER                              
031650,000433: 22,3627           77676                           DCOMP                                          #  TPER IS PUT NEG INTO -TPER.
031651,000434: 22,3630           16134        SKIPTPER           STODL    -TPER                                 
031652,000435: 22,3631           02172                                    HPERMIN                               #  HPERMIN AT (-29)M FOR EARTH, (-27)M MOON
031653,000436: 22,3632           45015                           DAD      CALL                                  
031654,000437: 22,3633           02174                                    RPADTEM                               #  RPADTEM AT (-29)M FOR EARTH, (-27)M MOON
031655,000438: 22,3634           57473                                    CALCTFF                               #  GIVES 59M59S FOR TFF IF RPER G/
031656,000439: 22,3635           77676                           DCOMP                                          #    HPERMIN + RPADTEM. (TPER WAS NON ZERO)
031657,000440: 22,3636           36132                           STCALL   TFF                                   #  OTHERWISE COMPUTES TFF.       (GOTO)
031658,000441: 22,3637           00051                                    S2                                    
031659,000442: 
031660,000443: 22,3640           51025        MAXCHK             DSU      BPL                                   #  IF C(MPAC) > 9999.9 NM, MPAC = 9999.9 NM
031661,000444: 22,3641           05650                                    MAXNM                                 
031662,000445: 22,3642           45645                                    +3                                    #  OTHERWISE C(MPAC) = B(MPAC).
031663,000446: 22,3643           43415                           DAD      RVQ                                   
031664,000447: 22,3644           05650                                    MAXNM                                 
031665,000448: 22,3645           43545                 +3        DLOAD    RVQ                                   #  (USED BY P30 - P37 ALSO)
031666,000449: 22,3646           05650                                    MAXNM                                 
031667,000450: 
031668,000451: 22,3647           01065 05603  MAXNM              2OCT     0106505603                            
031669,000452: 

Page 725 This page of the original assembly-listing hardcopy was empty, except for messages generated by the assembler.


End of include-file R30.agc.  Parent file is MAIN.agc