Source Code

This is the source-code for the Apollo 9 Command Module's Guidance Computer. These files were derived originally from the scan from MIT's Dibner Institute's now-discontinued website titled "History of Recent Science and Technology", which in turn was originally created by Gary Neff, though his high-quality scans were unfortunately reduced in legibility when presented online. The markings on the front of the printout imply that it was the original AGC developer Norm Brodeur's copy. A scan by Ron Burkey has superceded it, made from a more-legible copy from the collection of original AGC developer Fred Martin. The source code was transcribed from those images by Ron Burkey. Note that the page images presented online are of reduced quality, and that higher-quality images are available. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

	ASSEMBLE REVISION 249 OF AGC PROGRAM COLOSSUS BY NASA 2021111-041
	20'35 OCT. 28,1968
Note that the date is the date of the printout, not the date of the program revision.

022069,000002:                                                                                                  ## Copyright:   Public domain.
022070,000003:                                                                                                  ## Filename:    R30.agc
022071,000004:                                                                                                  ## Purpose:     Part of the source code for Colossus, build 249.
022072,000005:                                                                                                  ##              It is part of the source code for the Command Module's (CM)
022073,000006:                                                                                                  ##              Apollo Guidance Computer (AGC), for Apollo 9.
022074,000007:                                                                                                  ## Assembler:   yaYUL
022075,000008:                                                                                                  ## Reference:   pp. 505-515.
022076,000009:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
022077,000010:                                                                                                  ## Website:     www.ibiblio.org/apollo.
022078,000011:                                                                                                  ## Mod history: 08/02/04 RSB.   Adapted from corresponding Luminary131 file.
022079,000012:                                                                                                  ##              2017-01-06 RSB  Page numbers now agree with those on the
022080,000013:                                                                                                  ##                              original harcopy, as opposed to the PDF page
022081,000014:                                                                                                  ##                              numbers in 1701.pdf.
022082,000015:                                                                                                  ##              2017-01-18 RSB  Cross-diff'd comment text (not whitespace)
022083,000016:                                                                                                  ##                              vs the already-proofed corresponding Colossus
022084,000017:                                                                                                  ##                              237 and Comanche 55 source-code files
022085,000018:                                                                                                  ##                              and corrected errors found.
022086,000019:                                                                                                  ##              2017-02-08 RSB  Comment-text fixes discovered while proofing Artemis 72.
022087,000020:                                                                                                  ##
022088,000021:                                                                                                  ## The contents of the "Colossus249" files, in general, are transcribed 
022089,000022:                                                                                                  ## from a scanned copy of the program listing.  Notations on this
022090,000023:                                                                                                  ## document read, in part:
022091,000024:                                                                                                  ##
022092,000025:                                                                                                  ##      Assemble revision 249 of AGC program Colossus by NASA
022093,000026:                                                                                                  ##      2021111-041.  October 28, 1968.  
022094,000027:                                                                                                  ##
022095,000028:                                                                                                  ##      This AGC program shall also be referred to as
022096,000029:                                                                                                  ##                              Colossus 1A
022097,000030:                                                                                                  ##
022098,000031:                                                                                                  ##      Prepared by
022099,000032:                                                                                                  ##                      Massachusetts Institute of Technology
022100,000033:                                                                                                  ##                      75 Cambridge Parkway
022101,000034:                                                                                                  ##                      Cambridge, Massachusetts
022102,000035:                                                                                                  ##      under NASA contract NAS 9-4065.
022103,000036:                                                                                                  ##
022104,000037:                                                                                                  ## Refer directly to the online document mentioned above for further information.
022105,000038:                                                                                                  ## Please report any errors (relative to the scanned pages) to info@sandroid.org.
022106,000039:                                                                                                  ##
022107,000040:                                                                                                  ## In some cases, where the source code for Luminary 131 overlaps that of 
022108,000041:                                                                                                  ## Colossus 249, this code is instead copied from the corresponding Luminary 131
022109,000042:                                                                                                  ## source file, and then is proofed to incorporate any changes.
022110,000043: 

Page 505

022112,000045:                                                                                                  #  SUBROUTINE NAME:  V82CALL
022113,000046:                                                                                                  #  MOD NO: 0                                     DATE: 16 FEB 67
022114,000047:                                                                                                  #  MOD BY: RR BAIRNSFATHER                       LOG SECTION:  R30
022115,000048:                                                                                                  #  MOD NO: 1     MOD BY:  RR BAIRNSFATHER        DATE: 11 APR 67         SR30.1 CHANGED TO ALLOW MONITOR OPERN
022116,000049:                                                                                                  #  MOD NO: 2     MOD BY  ALONSO                  DATE: 11 DEC 67         VB82 PROGRAM REWRITTEN
022117,000050:                                                                                                  #  MOD NO: 3     MOD BY  ALONSO                  DATE: 26 MAR 68         PROG MOD TO HANDLE DIF EARTH/MOON SCALE
022118,000051: 
022119,000052:                                                                                                  #  NEW FUNCTIONAL DESCRIPTION:   CALLED BY VERB 82 ENTER.  PRIORITY 10
022120,000053:                                                                                                  #  USED THROUGHOUT.              CALCULATE AND DISPLAY ORBITAL PARAMETERS
022121,000054: 
022122,000055:                                                                                                  #  1.    IF AVERAGE G IS OFF:
022123,000056:                                                                                                  #                FLASH DISPLAY V04N06.  R2 INDICATES WHICH SHIP'S STATE VECTOR IS
022124,000057:                                                                                                  #                        TO BE UPDATED.  INITIAL CHOICE IS THIS SHIP (R2=1).  ASTRONAUT
022125,000058:                                                                                                  #                        CAN CHANGE TO OTHER SHIP BY V22EXE, WHERE X NOT EQ 1.
022126,000059:                                                                                                  #                SELECTED STATE VECTOR UPDATED BY THISPREC (OTHPREC).
022127,000060:                                                                                                  #                CALLS SR30.1 (WHICH CALLS TFFCONMU + TFFRP/RA) TO CALCULATE
022128,000061:                                                                                                  #                        RPER (PERIGEE RADIUS), RAPO (APOGEE RADIUS), HPER (PERIGEE
022129,000062:                                                                                                  #                        HEIGHT ABOVE LAUNCH PAD OR LUNAR LANDING SITE), HAPO (APOGEE
022130,000063:                                                                                                  #                        HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), TFF (TIME TO
022131,000064:                                                                                                  #                        INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE).
022132,000065:                                                                                                  #                FLASH MONITOR V16N44 (HAPO, HPER, TFF).  TFF IS -59M59S IF IT WAS
022133,000066:                                                                                                  #                        NOT COMPUTABLE, OTHERWISE IT INCREMENTS ONCE PER SECOND.
022134,000067:                                                                                                  #                        ASTRONAUT HAS OPTION TO MONITOR TPER BY KEYING IN N 32 E.
022135,000068:                                                                                                  #                        DISPLAY IS IN HMS, IS NEGATIVE (AS WAS TFF), AND INCREMENTS
022136,000069:                                                                                                  #                        ONCE PER SECOND ONLY IF TFF DISPLAY WAS -59M59S.
022137,000070:                                                                                                  #        2.      IF AVERAGE G IS ON:
022138,000071:                                                                                                  #                        CALLS SR30.1 APPROX EVERY TWO SECS.  STATE VECTOR IS ALWAYS
022139,000072:                                                                                                  #                                FOR THIS VEHICLE.  V82 DOES NOT DISTURB STATE VECTOR.  RESULTS
022140,000073:                                                                                                  #                                OF SR30.1 ARE RAPO, RPER, HAPO, HPER, TPER, TFF.
022141,000074:                                                                                                  #                        FLASH MONITOR V16N44 (HAPO, HPER, TFF).
022142,000075:                                                                                                  #                        IF MODE IS P11, THEN CALL DELRSPL SO ASTRONAUT CAN MONITOR
022143,000076:                                                                                                  #                                RESULTS BY N50E.  SPLASH COMPUTATION DONE ONCE PER TWO SECS.
022144,000077:                                                                                                  #        ADDENDUM:  HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE
022145,000078:                                                                                                  #                ABOVE REMARKS.
022146,000079: 
022147,000080:                                                                                                  #  CALLING SEQUENCE: VERB 82 ENTER.
022148,000081: 
022149,000082:                                                                                                  #  SUBROUTINES CALLED:   SR30.1, GOXDSPF
022150,000083:                                                                                                  #                        MAYBE - THISPREC, OTHPREC, LOADTIME, DELRSPL
022151,000084: 
022152,000085:                                                                                                  #  NORMAL EXIT MODES:  TC ENDEXT
022153,000086: 
022154,000087:                                                                                                  #  ALARMS:  NONE
022155,000088: 
022156,000089:                                                                                                  #  OUTPUT:       HAPOX   (-29) M
022157,000090:                                                                                                  #                HPERX   (-29) M
022158,000091:                                                                                                  #                RAPO    (-29) M EARTH
022159,000092:                                                                                                  #                        (-27) M MOON

Page 506

022161,000094:                                                                                                  #                RPER    (-29) M EARTH
022162,000095:                                                                                                  #                        (-27) M MOON
022163,000096:                                                                                                  #                TFF     (-28) CS        CONTAINS NEGATIVE QUANTITY
022164,000097:                                                                                                  #                -TPER   (-28) CS        CONTAINS NEGATIVE QUANTITY
022165,000098:                                                                                                  #                RSP-RREC(-29) M         IF DELRSPL CALLED
022166,000099: 
022167,000100:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED:  STATE VECTOR.
022168,000101: 
022169,000102:                                                                                                  #  DEBRIS:       QPRET, RONE, VONE, TFF/RTMU, HPERMIN, RPADTEM, V82EMFLG.
022170,000103:                                                                                                  #                MAYBE:  TSTART82, V82FLAGS, TDEC1.
022171,000104: 
022172,000105: 13,2176  E4,1751                                  EBANK=   HAPOX                                 
022173,000106: 31,2021                                           BANK     31                                    
022174,000107: 23,2000                                           SETLOC   R30LOC                                
022175,000108: 23,2000                                           BANK                                           
022176,000109: 23,2332                                           COUNT*   $$/R30                                
022177,000110: 
022178,000111: 23,2332           06006        V82CALL            TC       INTPRET                               
022179,000112: 23,2333           52014                           BON      GOTO                                  
022180,000113: 23,2334           00716                                    AVEGFLAG                              
022181,000114: 23,2335           46566                                    V82GON                                #  IF AVERAGE G ON
022182,000115: 23,2336           46337                                    V82GOFF                               #  IF AVERAGE G OFF
022183,000116: 
022184,000117: 23,2337           77776        V82GOFF            EXIT                                           #  ALLOW ASTRONAUT TO SELECT VEHICLE
022185,000118: 23,2340           34711                           CAF      TWO                                   #  DESIRED FOR ORBITAL PARAMETERS
022186,000119: 23,2341           55051                           TS       OPTIONX                               
022187,000120: 23,2342           34712                           CAF      ONE                                   
022188,000121: 23,2343           55052                           TS       OPTIONX    +1                         
022189,000122: 23,2344           32406                           CAF      OPTIONVN                              #  V 04 N 06
022190,000123: 23,2345           04555                           TC       BANKCALL                              
022191,000124: 23,2346           20465                           CADR     GOXDSPF                               
022192,000125: 23,2347           05423                           TC       ENDEXT                                #  TERMINATE
022193,000126: 23,2350           02352                           TC       +2                                    #  PROCEED
022194,000127: 23,2351           02344                           TC       -5                                    #  DATA IN.  OPTIONX+1 = 1 FOR THIS VEHIC.
022195,000128:                                                                                                  #                UNEQ 1 FOR OTHER VEHICLE.
022196,000129: 23,2352           34707                           CAF      BIT4                                  #  80 MS
022197,000130: 23,2353           05140                           TC       WAITLIST                              
022198,000131: 23,2354  E4,1743                                  EBANK=   TFF                                   
022199,000132: 23,2354           02531 46064                     2CADR    TICKTEST                              
022200,000133: 
022201,000134: 23,2356           00003                           RELINT                                         
022202,000135: 23,2357           32410        V82GOFLP           CAF      TFFBANK                               #  MAJOR RECYCLE LOOP ENTRY
022203,000136: 23,2360           54003                           TS       EBANK                                 
022204,000137: 23,2361           34714                           CAF      ZERO                                  
022205,000138: 23,2362           55742                           TS       V82FLAGS                              #  ZERO FLAGS FOR TICKTEST. INHIBITS
022206,000139:                                                                                                  #  DECREMENTING OF TFF AND -TPER.
022207,000140: 23,2363           34756                           CAF      PRIO7                                 
022208,000141: 23,2364           05042                           TC       FINDVAC                               #  V82GOFF1 WILL EXECUTE STATE VECTOR

Page 507

022210,000143: 23,2365  E4,1743                                  EBANK=   TFF                                   #  UPDATE AND ORBIT CALCULATIONS FOR
022211,000144: 23,2365           02411 46064                     2CADR    V82GOFF1                              #  SELECTED VEHICLE ABOUT PROPER BODY.
022212,000145: 
022213,000146: 23,2367           00003                           RELINT                                         
022214,000147: 23,2370           36214        V82STALL           CAF      THREE                                 #  STALL IN THIS LOOP AND WITHOLD V 16 N 44
022215,000148: 23,2371           71742                           MASK     V82FLAGS                              #  UNTIL STATE VECTOR UPDATE SETS ONE OF
022216,000149: 23,2372           10000                           CCS      A                                     #  OUR FLAG BITS.
022217,000150: 23,2373           02400                           TC       FLAGGON                               #  EXIT FROM STALL LOOP.
022218,000151: 23,2374           34734                           CAF      1SEC                                  
022219,000152: 23,2375           04555                           TC       BANKCALL                              
022220,000153: 23,2376           01732                           CADR     DELAYJOB                              
022221,000154: 23,2377           02370                           TC       V82STALL                              
022222,000155: 
022223,000156: 23,2400           32407        FLAGGON            CAF      V16N44                                #  MONITOR HAPO,HPER,TFF.
022224,000157: 23,2401           04555                           TC       BANKCALL                              
022225,000158: 23,2402           20465                           CADR     GOXDSPF                               
022226,000159: 23,2403           05514                           TC       B5OFF                                 #  TERM  THIS TELLS TICKTEST TO KILL ITSELF
022227,000160: 23,2404           05514                           TC       B5OFF                                 #  PROCEED   DITTO
022228,000161: 23,2405           02357                           TC       V82GOFLP                              #  RECYCLE   RECOMPUTE STATE VECT + DISPLAY
022229,000162: 
022230,000163: 23,2406           01014        OPTIONVN           VN       0412                                  
022231,000164: 23,2407           04054        V16N44             VN       1644                                  
022232,000165: 23,2410           02343        TFFBANK            ECADR    TFF                                   
022233,000166: 
022234,000167: 23,2411           06006        V82GOFF1           TC       INTPRET                               
022235,000168: 23,2412           77634                           RTB                                            
022236,000169: 23,2413           45505                                    LOADTIME                              
022237,000170: 23,2414           00041                           STORE    TDEC1                                 #  TIME FOR STATE VECTOR UPDATE.
022238,000171: 23,2415           02325                           STORE    TSTART82                              #  TIME FOR INTERNAL USE.
022239,000172: 23,2416           77776                           EXIT                                           
022240,000173: 23,2417           41052                           CS       OPTIONX    +1                         #  1 FOR THIS VEHICLE, NOT 1 FOR OTHER
022241,000174: 23,2420           64712                           AD       ONE                                   
022242,000175: 23,2421           00006                           EXTEND                                         
022243,000176: 23,2422           12446                           BZF      THISSHIP                              
022244,000177: 23,2423           06006        OTHSHIP            TC       INTPRET                               
022245,000178: 23,2424           77624                           CALL                                           #  CALL STATE VECTOR UPDATE FOR OTHER SHIP.
022246,000179: 23,2425           27036                                    OTHPREC                               
022247,000180: 23,2426           77775        BOTHSHIP           VLOAD                                          #  MOVE RESULTS INTO TFFCONIC STORAGE AREAS
022248,000181: 23,2427           00001                                    RATT                                  #  TO BE CALLED BY SR30.1.
022249,000182: 23,2430           26327                           STOVL    RONE                                  #  RATT AT (-29)M FOR EARTH OR MOON
022250,000183: 23,2431           00007                                    VATT                                  
022251,000184: 23,2432           02335                           STORE    VONE                                  #  VATT AT (-7)M/CS FOR EARTH OR MOON
022252,000185: 23,2433           77743                           DLOAD*                                         
022253,000186: 23,2434           71321                                    1/RTMUE,2                             #  X2 IS 0 FOR EARTH CENTERED STATE VEC
022254,000187: 23,2435           00037                           STORE    TFF/RTMU                              #  X2 IS 2 FOR MOON
022255,000188: 23,2436           77743                           DLOAD*                                         #  AS LEFT BY THISPREC OR OTHPREC.
022256,000189: 23,2437           71315                                    MINPERE,2                             
022257,000190: 23,2440           02321                           STORE    HPERMIN                               #  TFFRTMU, HPERMIN AND RPADTEM ARE ALL
022258,000191: 23,2441           46135                           SLOAD    BHIZ                                  #  EARTH/MOON PARAMETERS AS SET HERE.

Page 508

022260,000193: 23,2442           00050                                    X2                                    
022261,000194: 23,2443           46463                                    EARTHPAD                              
022262,000195: 23,2444           77650                           GOTO                                           
022263,000196: 23,2445           46467                                    MOONPAD                               
022264,000197: 23,2446           06006        THISSHIP           TC       INTPRET                               
022265,000198: 23,2447           77624                           CALL                                           #  CALL STATE VECTOR UPDATE FOR THIS SHIP.
022266,000199: 23,2450           27022                                    THISPREC                              
022267,000200: 23,2451           77650                           GOTO                                           
022268,000201: 23,2452           46426                                    BOTHSHIP                              
022269,000202: 
022270,000203:                                                                                                  #  THE FOLLOWING CONSTANTS ARE PAIRWISE INDEXED.  DO NOT SEPARATE PAIRS.
022271,000204: 
022272,000205: 23,2453           27533 07571  1/RTMUM            2DEC*    .45162595  E-4        B14*            
022273,000206: 23,2455           25004 06702  1/RTMUE            2DEC*    .50087529  E-5        B17*            
022274,000207: 
022275,000208: 23,2457           00001 11530  MINPERM            2DEC     10668      B-27                       #  35 KFT MIN PERIGEE HEIGHT FOR MOON(-27)M
022276,000209: 23,2461           00002 31230  MINPERE            2DEC     91440      B-29                       #  300 KFT (-29)M FOR EARTH
022277,000210: 
022278,000211: 23,2463           43145        EARTHPAD           DLOAD    CLRGO                                 #  PAD 37-B RADIUS.  SCALED AT (-29)M.
022279,000212: 23,2464           05311                                    RPAD                                  
022280,000213: 23,2465           04622                                    V82EMFLG                              #  INDICATE EARTH SCALING FOR SR30.1
022281,000214: 23,2466           46473                                    BOTHPAD                               
022282,000215: 
022283,000216: 23,2467           51575        MOONPAD            VLOAD    ABVAL                                 #  COMPUTE MOON PAD RADIUS FROM RLS VECTOR.
022284,000217: 23,2470           02026                                    RLS                                   #  SCALED AT (-27)M.
022285,000218: 23,2471           77614                           SET                                            
022286,000219: 23,2472           04462                                    V82EMFLG                              #  INDICATE MOON SCALING FOR SR30.1
022287,000220: 23,2473           36323        BOTHPAD            STCALL   RPADTEM                               
022288,000221: 23,2474           46667                                    SR30.1                                #  CALCULATE ORBITAL PARAMETERS
022289,000222: 23,2475           77776                           EXIT                                           
022290,000223: 23,2476           31011                           CA       MODREG                                #  ARE WE IN POO
022291,000224: 23,2477           00006                           EXTEND                                         
022292,000225: 23,2500           12645                           BZF      CANDEL                                #  YES, DO DELRSPL
022293,000226: 23,2501           06006        SPLRET1            TC       INTPRET                               
022294,000227: 23,2502           45234                           RTB      DSU                                   
022295,000228: 23,2503           45505                                    LOADTIME                              
022296,000229: 23,2504           02325                                    TSTART82                              #  PRESENT TIME - TIME V82GOFF1 BEGAN
022297,000230: 23,2505           02325                           STORE    TSTART82                              #                 SAVE IT
022298,000231: 23,2506           53145                           DLOAD    BZE                                   #  SR30.1 SETS -TPER=0 IF HPER L/
022299,000232: 23,2507           02346                                    -TPER                                 #  HPERMIN (300 OR 35) KFT.
022300,000233: 23,2510           46521                                    TICKTFF                               #  (-TPER = 0)
022301,000234: 23,2511           43345        TICKTPER           DLOAD    DAD                                   #  (-TPER NON ZERO) TFF WAS NOT COMPUTED,
022302,000235: 23,2512           02346                                    -TPER                                 #  BUT WAS SET TO 59M59S.  DONT TICK TFF, DO
022303,000236: 23,2513           02325                                    TSTART82                              #  TICK -TPER.  DISPLAY BOTH.
022304,000237: 23,2514           02346                           STORE    -TPER                                 #  -TPER CORRECTED FOR TIME SINCE V82GOFF1
022305,000238: 23,2515           77776                           EXIT                                           #  BEGAN.
022306,000239: 

Page 509

022308,000241: 23,2516           34712                           CAF      BIT1                                  
022309,000242: 23,2517           55742                           TS       V82FLAGS                              #  INFORMS TICKTEST TO INCREMENT ONLY -TPER
022310,000243: 23,2520           05112                           TC       ENDOFJOB                              
022311,000244: 
022312,000245: 23,2521           43345        TICKTFF            DLOAD    DAD                                   #  (-TPER=0) TFF WAS COMPUTED.  TICK TFF.
022313,000246: 23,2522           02344                                    TFF                                   #  DO NOT TICK -TPER.  DISPLAY TFF, BUT NOT
022314,000247: 23,2523           02325                                    TSTART82                              #  -TPER.
022315,000248: 23,2524           02344                           STORE    TFF                                   #  TFF CORRECTED FOR TIME SINCE V82GOFF1
022316,000249: 23,2525           77776                           EXIT                                           #  BEGAN.
022317,000250: 23,2526           34711                           CAF      BIT2                                  
022318,000251: 23,2527           55742                           TS       V82FLAGS                              #  INFORMS TICKTEST TO INCREMENT ONLY TFF.
022319,000252: 23,2530           05112                           TC       ENDOFJOB                              
022320,000253: 
022321,000254: 23,2531           34706        TICKTEST           CAF      BIT5                                  #  THIS WAITLIST PROGRAM PERPETUATES ITSELF
022322,000255: 23,2532           71044                           MASK     EXTVBACT                              #  ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0.
022323,000256: 23,2533           10000                           CCS      A                                     
022324,000257: 23,2534           02542                           TC       DOTICK                                
022325,000258: 23,2535           37662                           CAF      PRIO25                                
022326,000259: 23,2536           05027                           TC       NOVAC                                 #  TERMINATE V 82.  CANT CALL ENDEXT IN RUPT.
022327,000260: 23,2537     1044                                  EBANK=   EXTVBACT                              
022328,000261: 23,2537           05423 04062                     2CADR    ENDEXT                                
022329,000262: 
022330,000263: 23,2541           05213                           TC       TASKOVER                              
022331,000264: 23,2542           34734        DOTICK             CAF      1SEC                                  #  RE-REQUEST TICKTEST.
022332,000265: 23,2543           05140                           TC       WAITLIST                              
022333,000266: 23,2544  E4,1743                                  EBANK=   TFF                                   
022334,000267: 23,2544           02531 46064                     2CADR    TICKTEST                              
022335,000268: 
022336,000269: 23,2546           36214                           CAF      THREE                                 
022337,000270: 23,2547           71742                           MASK     V82FLAGS                              
022338,000271: 23,2550           50000                           INDEX    A                                     
022339,000272: 23,2551           02552                           TC       +1                                    
022340,000273: 23,2552           05213                           TC       TASKOVER                              #  IF NO FLAGBITS SET DONT CHANGE TFF OR
022341,000274:                                                                                                  #  -TPER, BUT CONTINUE LOOP.
022342,000275: 23,2553           02561                           TC       TPERTICK                              #  ONLY BIT 1 SET.  INCR -TPER BY 1 SEC.
022343,000276: 23,2554           34734        TFFTICK            CAF      1SEC                                  #  ONLY BIT 2 SET.  INCR TFF BY 1 SEC.
022344,000277: 23,2555           54001                           TS       L                                     
022345,000278: 23,2556           34714                           CAF      ZERO                                  
022346,000279: 23,2557           21744                           DAS      TFF                                   
022347,000280: 23,2560           05213                           TC       TASKOVER                              
022348,000281: 23,2561           34734        TPERTICK           CAF      1SEC                                  
022349,000282: 23,2562           54001                           TS       L                                     
022350,000283: 23,2563           34714                           CAF      ZERO                                  
022351,000284: 23,2564           21746                           DAS      -TPER                                 
022352,000285: 23,2565           05213                           TC       TASKOVER                              
022353,000286: 

Page 510

022355,000288: 23,2566           77776        V82GON             EXIT                                           #  AVERAGE G ON.  USE CURRENT STATE VECTOR
022356,000289:                                                                                                  #  FOR ORBITAL PARAMETER CALCULATIONS.
022357,000290: 23,2567           34756                           CAF      PRIO7                                 #  LESS THAN LAMBERT
022358,000291: 23,2570           05042                           TC       FINDVAC                               #  V82GON1 WILL PERFORM ORBIT CALCULATIONS
022359,000292: 23,2571  E4,1743                                  EBANK=   TFF                                   #  ABOUT PROPER BODY APPROX ONCE PER SEC.
022360,000293: 23,2571           02604 46064                     2CADR    V82GON1                               
022361,000294: 
022362,000295: 23,2573           00003                           RELINT                                         
022363,000296: 23,2574           10067                           CCS      NEWJOB                                #  WITHOLD V16 N44 UNTIL FIRST ORBIT CALC
022364,000297: 23,2575           05057                           TC       CHANG1                                #  IS DONE.  NOTE:  V82GON1 (PRIO7, FINDVAC
022365,000298:                                                                                                  #  JOB) IS COMPLETED BEFORE V82GON (PRIO7,
022366,000299:                                                                                                  #  NOVAC JOB).
022367,000300: 23,2576           32407        V82REDSP           CAF      V16N44                                #  MONITOR HAPO, HPER, TFF
022368,000301: 23,2577           04555                           TC       BANKCALL                              
022369,000302: 23,2600           20465                           CADR     GOXDSPF                               
022370,000303: 23,2601           05514                           TC       B5OFF                                 #  TERM THIS TELLS V82GON1 TO KILL ITSELF.
022371,000304: 23,2602           05514                           TC       B5OFF                                 #  PROC DITTO.
022372,000305: 23,2603           02576                           TC       V82REDSP                              #  RECYCLE
022373,000306: 
022374,000307: 23,2604           06006        V82GON1            TC       INTPRET                               #  THIS EXEC PROGRAM PERPETUATES ITSELF
022375,000308:                                                                                                  #  ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0.
022376,000309: 23,2605           52175                           VLOAD    GOTO                                  #  HOLDS OFF CCS NEWJOB BETWEEN RN AND
022377,000310: 23,2606           01171                                    RN                                    #  VN FETCH SO RN, VN ARE FROM SAME
022378,000311: 23,2607           46610                                    NEXTLINE                              #  STATE VECTOR UPDATE.
022379,000312: 23,2610           26327        NEXTLINE           STOVL    RONE                                  #  RN AT (-29)M FOR EARTH OR MOON
022380,000313: 23,2611           01177                                    VN                                    
022381,000314: 23,2612           02335                           STORE    VONE                                  #  VN AT (-7)M/CS FOR EARTH OR MOON
022382,000315: 23,2613           52014                           BON      GOTO                                  
022383,000316: 23,2614           04303                                    MOONTHIS                              #  FLAG INDICATES BODY ABOUT WHICH ORBITAL
022384,000317: 23,2615           46617                                    MOONGON                               #  CALCULATIONS ARE TO BE PERFORMED.
022385,000318: 23,2616           46630                                    EARTHGON                              #  IF SET - MOON, IF RESET - EARTH.
022386,000319: 
022387,000320: 23,2617           71214        MOONGON            SET      DLOAD                                 
022388,000321: 23,2620           04462                                    V82EMFLG                              #  INDICATE MOON SCALING FOR SR30.1
022389,000322: 23,2621           06454                                    1/RTMUM                               #  LUNAR PARAMETERS LOADED HERE FOR SR30.1
022390,000323: 23,2622           14037                           STODL    TFF/RTMU                              
022391,000324: 23,2623           06460                                    MINPERM                               
022392,000325: 23,2624           26321                           STOVL    HPERMIN                               
022393,000326: 23,2625           02026                                    RLS                                   #  SCALED AT (-27)M.
022394,000327: 23,2626           52046                           ABVAL    GOTO                                  
022395,000328: 23,2627           46637                                    V82GON2                               
022396,000329: 23,2630           71214        EARTHGON           CLEAR    DLOAD                                 
022397,000330: 23,2631           04662                                    V82EMFLG                              #  INDICATE EARTH SCALING FOR SR30.1
022398,000331: 23,2632           06456                                    1/RTMUE                               #  EARTH PARAMETERS LOADED HERE FOR SR30.1
022399,000332: 23,2633           14037                           STODL    TFF/RTMU                              
022400,000333: 23,2634           06462                                    MINPERE                               
022401,000334: 23,2635           16321                           STODL    HPERMIN                               
022402,000335: 23,2636           05311                                    RPAD                                  
022403,000336: 23,2637           36323        V82GON2            STCALL   RPADTEM                               #  COMMON CODE FOR EARTH & MOON.
022404,000337: 23,2640           46667                                    SR30.1                                

Page 511

022406,000339: 23,2641           77776                           EXIT                                           
022407,000340: 23,2642           05253                           TC       CHECKMM                               
022408,000341: 23,2643           00013                           DEC      11         B-14                       
022409,000342: 23,2644           02657                           TC       V82GON3                               #  NOT IN MODE 11.
022410,000343: 23,2645           06006        CANDEL             TC       INTPRET                               #  IN MODE 11 OR 00
022411,000344: 23,2646           77624                           CALL                                           
022412,000345: 23,2647           27371                                    INTSTALL                              #  DELRSPL DOES INTWAKE
022413,000346: 23,2650           45145                           DLOAD    CALL                                  
022414,000347: 23,2651           02344                                    TFF                                   
022415,000348: 23,2652           64017                                    DELRSPL                               #  RETURN IS TO NEXT LINE (SPLRET).
022416,000349: 23,2653           77776        SPLRET             EXIT                                           
022417,000350: 
022418,000351: 23,2654           31011                           CA       MODREG                                
022419,000352: 23,2655           00006                           EXTEND                                         
022420,000353: 23,2656           12501                           BZF      SPLRET1                               
022421,000354: 23,2657           34706        V82GON3            CAF      BIT5                                  
022422,000355: 23,2660           71044                           MASK     EXTVBACT                              #  SEE IF ASTRONAUT HAS SIGNALLED TERMINATE
022423,000356: 23,2661           00006                           EXTEND                                         
022424,000357: 23,2662           15423                           BZF      ENDEXT                                #  YES, TERMINATE VB 82 LOOP
022425,000358: 23,2663           34734                           CAF      1SEC                                  
022426,000359: 23,2664           04555                           TC       BANKCALL                              #  WAIT ONE SECOND BEFORE REPEATING
022427,000360: 23,2665           01732                           CADR     DELAYJOB                              #  ORBITAL PARAMETER COMPUTATION.
022428,000361: 23,2666           02604                           TC       V82GON1                               
022429,000362: 

Page 512

022431,000364:                                                                                                  #  SUBROUTINE NAME: SR30.1
022432,000365:                                                                                                  #  MOD NO: 0                                                             DATE: 16 FEB 67
022433,000366:                                                                                                  #  MOD BY: RR BAIRNSFATHER                                               LOG SECTION: R32
022434,000367:                                                                                                  #  MOD NO: 1     MOD BY: RR BAIRNSFATHER DATE: 11 APR 67                 SR30.1 CHANGED TO ALLOW MONITOR OPERN
022435,000368:                                                                                                  #  MOD NO: 2     MOD BY: RR BAIRNSFATHER DATE: 14 APR 67                 ADD OVFL CK FOR RAPO
022436,000369:                                                                                                  #  MOD NO: 3     MOD BY ALONSO                   DATE: 11 DEC 67         SUBROUTINE REWRITTEN
022437,000370:                                                                                                  #  MOD NO: 4     MOD BY ALONSO                   DATE: 26 MAR 68         PROG MOD TO HANDLE DIF EARTH/MOON SCALE
022438,000371:                                                                                                  #  MOD NO: 5     MOD BY: RR BAIRNSFATHER DATE: 6 AUG 68                  OVFL CK FOR HAPO & HPER. VOIDS MOD #2.
022439,000372: 
022440,000373:                                                                                                  #  NEW FUNCTIONAL DESCRIPTION:  ORBITAL PARAMETERS DISPLAY FOR NOUNS 32 AND 44.
022441,000374:                                                                                                  #  SR30.1 CALLS TFFCONMU AND TFFRP/RA TO CALCULATE RPER (PERIGEE RADIUS),
022442,000375:                                                                                                  #  RAPO (APOGEE RADIUS), HPER (PERIGEE HEIGHT ABOVE LAUNCH PAD OR LUNAR
022443,000376:                                                                                                  #  LANDING SITE), HAPO (APOGEE HEIGHT AS ABOVE), TPER (TIME TO PERIGEE),
022444,000377:                                                                                                  #  TFF (TIME TO INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE).
022445,000378:                                                                                                  #  IF HPER IS GREATER THAN OR EQUAL TO HPERMIN, CALCULATES TPER AND STORES
022446,000379:                                                                                                  #  NEGATIVE IN -TPER.  OTHERWISE STORES +0 IN -TPER.  WHENEVER TPER IS
022447,000380:                                                                                                  #  CALCULATED, TFF IS NOT COMPUTABLE AND DEFAULTS TO -59MIN 59SEC.  IF HAPO
022448,000381:                                                                                                  #  WOULD EXCEED 9999.9 NM, IT IS LIMITED TO THAT VALUE FOR DISPLAY.
022449,000382: 
022450,000383:                                                                                                  #  ADDENDUM:     HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE
022451,000384:                                                                                                  #                ABOVE REMARKS.
022452,000385: 
022453,000386:                                                                                                  #  CALLING SEQUENCE:     CALL
022454,000387:                                                                                                  #                                SR30.1
022455,000388: 
022456,000389:                                                                                                  #  SUBROUTINES CALLED:   TFFCONMU, TFFRP/RA, CALCTPER, CALCTFF
022457,000390: 
022458,000391:                                                                                                  #  NORMAL EXIT MODE:     CALLING LINE +1 (STILL IN INTERPRETIVE MODE)
022459,000392: 
022460,000393:                                                                                                  #  ALARMS:       NONE
022461,000394: 
022462,000395:                                                                                                  #  OUTPUT:       RAPO    (-29) M EARTH   APOGEE RADIUS   EARTH CENTERED COORD.
022463,000396:                                                                                                  #                        (-27) M MOON                    MOON CENTERED COORD.
022464,000397:                                                                                                  #                RPER    (-29) M EARTH   PERIGEE RADIUS  EARTH CENTERED COORD.
022465,000398:                                                                                                  #                        (-27) M MOON                    MOON CENTERED COORD.
022466,000399:                                                                                                  #                HAPOX   (-29) M         APOGEE ALTITUDE ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM.
022467,000400:                                                                                                  #                HPERX   (-29) M         PERIGEE ALT. ABOVE PAD OR LAND. SITE    MAX VALUE LIMITED TO 9999.9 NM.
022468,000401:                                                                                                  #                TFF     (-28) CS        TIME TO 300KFT OR 35KFT ALTITUDE
022469,000402:                                                                                                  #                -TPER   (-28) CS        TIME TO PERIGEE
022470,000403: 
022471,000404:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED -
022472,000405:                                                                                                  #        TFF/RTMU        (+17) EARTH     RECIPROCAL OF PROPER GRAV CONSTANT FOR
022473,000406:                                                                                                  #                        (+14) MOON      EARTH OR MOON = 1/SQRT(MU).
022474,000407:                                                                                                  #        RONE            (-29) M         STATE VECTOR
022475,000408:                                                                                                  #        VONE            (-7) M/CS       STATE VECTOR
022476,000409:                                                                                                  #        RPADTEM         (-29) M EARTH   RADIUS OF LAUNCH PAD OR LUNAR LANDING
022477,000410:                                                                                                  #                        (-27) M MOON    SITE.
022478,000411:                                                                                                  #        HPERMIN         (-29) M EARTH   (300 OR 35) KFT MINIMUM PERIGEE ALTITUDE
022479,000412:                                                                                                  #                        (-27) M MOON    ABOVE LAUNCH PAD OR LUNAR LANDING SITE.
022480,000413:                                                                                                  #        V82EMFLG        (INT SW BIT)    RESET FOR EARTH, SET FOR MOON.
022481,000414: 
022482,000415:                                                                                                  #  DEBRIS:       QPRET, PDL, S2
022483,000416: 

Page 513

022485,000418: 23,2667                                           COUNT*   $$/SR30S                              
022486,000419: 
022487,000420: 23,2667           44001        SR30.1             SETPD    STQ                                   #  INITIALIZE PUSHDOWN LIST.
022488,000421: 23,2670           00001                                    0                                     
022489,000422: 23,2671           00051                                    S2                                    
022490,000423:                                                                                                  #  SR30.1 INPUT: RONE AT (-29)M EARTH/MOON
022491,000424:                                                                                                  #                VONE AT (-7)M/CS
022492,000425:                                                                                                  #  TFFCONMU, TFFRP/RA, CALCTPER AND CALCTFF
022493,000426:                                                                                                  #  CALLS REQUIRE:
022494,000427:                                                                                                  #  EARTH CENTERED (NO RESCALING REQUIRED)
022495,000428:                                                                                                  #        RONE SCALED TO B-29 M
022496,000429:                                                                                                  #        VONE SCALED TO B-7 M/CS
022497,000430:                                                                                                  #  MOON CENTERED (RESCALING REQUIRED)
022498,000431:                                                                                                  #        RONE SCALED TO B-27 M
022499,000432:                                                                                                  #        VONE SCALED TO B-5 M/CS
022500,000433: 23,2672           77214                           BOFF     VLOAD                                 
022501,000434: 23,2673           04742                                    V82EMFLG                              #  OFF FOR EARTH, ON FOR MOON.
022502,000435: 23,2674           46703                                    TFFCALLS                              
022503,000436: 23,2675           02327                                    RONE                                  
022504,000437: 23,2676           77752                           VSL2                                           
022505,000438: 23,2677           26327                           STOVL    RONE                                  
022506,000439: 23,2700           02335                                    VONE                                  
022507,000440: 23,2701           77752                           VSL2                                           
022508,000441: 23,2702           02335                           STORE    VONE                                  
022509,000442: 23,2703           77624        TFFCALLS           CALL                                           
022510,000443: 23,2704           56751                                    TFFCONMU                              
022511,000444: 23,2705           77624                           CALL                                           #  TFFRP/RA COMPUTES RAPO,RPER.
022512,000445: 23,2706           57017                                    TFFRP/RA                              
022513,000446:                                                                                                  #  RETURNS WITH RAPO IN D(MPAC).
022514,000447: 23,2707           77625                           DSU                                            
022515,000448: 23,2710           02323                                    RPADTEM                               
022516,000449: 23,2711           64414                           BOFF     SR2R                                  #  NEED HAPO AT (-29)M FOR DISPLAY.
022517,000450:                                                                                                  #  IF MOON CENTERED, RESCALE FROM (-27)M.
022518,000451:                                                                                                  #  IF EARTH CENTERED ALREADY AT (-29)M.
022519,000452: 23,2712           04742                                    V82EMFLG                              #  OFF FOR EARTH , ON FOR MOON.
022520,000453: 23,2713           46714                                    +1                                    
022521,000454: 23,2714           77624                           CALL                                           #  IF HAPO > MAXNM, SET HAPO =9999.9 NM.
022522,000455: 23,2715           46754                                    MAXCHK                                #  OTHERWISE STORE (RAPO-RPADTEM) IN HAPO.
022523,000456: 23,2716           16352        STORHAPO           STODL    HAPOX                                 
022524,000457: 23,2717           00017                                    RPER                                  
022525,000458: 23,2720           77625                           DSU                                            
022526,000459: 23,2721           02323                                    RPADTEM                               #  GIVES HPER AT (-29)M EARTH, (-27)M MOON.
022527,000460: 23,2722           00161                           STORE    MPAC       +4                         #  SAVE THIS FOR COMPARISON TO HPERMIN.
022528,000461: 23,2723           64414                           BOFF     SR2R                                  #  NEED HPER AT (-29)M FOR DISPLAY.
022529,000462:                                                                                                  #  IF MOON CENTERED, RESCALE FROM (-27)M.
022530,000463:                                                                                                  #  IF EARTH CENTERED ALREADY AT (-29)M.
022531,000464: 23,2724           04742                                    V82EMFLG                              #  OFF FOR EARTH, ON FOR MOON.
022532,000465: 23,2725           46726                                    +1                                    
022533,000466: 23,2726           77624                           CALL                                           #  IF HPER > MAXNM, SET HPER = 9999.9 NM.
022534,000467: 23,2727           46754                                    MAXCHK                                

Page 514

022536,000469: 23,2730           16354        STORHPER           STODL    HPERX                                 #  STORE (RPER - RPADTEM) INTO HPERX.
022537,000470: 23,2731           00161                                    MPAC       +4                         
022538,000471: 23,2732           51025                           DSU      BPL                                   #  HPERMIN AT (-29)M FOR EARTH, (-27)M MOON
022539,000472: 23,2733           02321                                    HPERMIN                               #  IF HPER L/ HPERMIN (300 OR 35) KFT,
022540,000473: 23,2734           46740                                    DOTPER                                #  THEN ZERO INTO -TPER.
022541,000474: 23,2735           52145                           DLOAD    GOTO                                  #  OTHERWISE CALCULATE TPER.
022542,000475: 23,2736           15332                                    HI6ZEROS                              
022543,000476: 23,2737           46744                                    SKIPTPER                              
022544,000477: 23,2740           45145        DOTPER             DLOAD    CALL                                  
022545,000478: 23,2741           00017                                    RPER                                  
022546,000479: 23,2742           57055                                    CALCTPER                              
022547,000480: 23,2743           77676                           DCOMP                                          #  TPER IS PUT NEG INTO -TPER.
022548,000481: 23,2744           16346        SKIPTPER           STODL    -TPER                                 
022549,000482: 23,2745           02321                                    HPERMIN                               #  HPERMIN AT (-29)M FOR EARTH, (-27)M MOON
022550,000483: 23,2746           45015                           DAD      CALL                                  
022551,000484: 23,2747           02323                                    RPADTEM                               #  RPADTEM AT (-29)M FOR EARTH, (-27)M MOON
022552,000485: 23,2750           57060                                    CALCTFF                               #  GIVES 59M59S FOR TFF IF RPER G/
022553,000486: 23,2751           77676                           DCOMP                                          #  HPERMIN + RPADTEM.  (TPER WAS NON ZERO)
022554,000487: 23,2752           36344                           STCALL   TFF                                   #  OTHERWISE COMPUTES TFF.       (GOTO)
022555,000488: 23,2753           00051                                    S2                                    
022556,000489: 
022557,000490: 23,2754           51025        MAXCHK             DSU      BPL                                   #  IF C(MPAC) > 9999.9 NM, MPAC = 9999.9 NM
022558,000491: 23,2755           06764                                    MAXNM                                 
022559,000492: 23,2756           46761                                    +3                                    #  OTHERWISE C(MPAC) = B(MPAC).
022560,000493: 23,2757           43415                           DAD      RVQ                                   
022561,000494: 23,2760           06764                                    MAXNM                                 
022562,000495: 23,2761           43545                 +3        DLOAD    RVQ                                   #  (USED BY P30 - P37 ALSO)
022563,000496: 23,2762           06764                                    MAXNM                                 
022564,000497: 
022565,000498: 23,2763           01065 05603  MAXNM              2OCT     0106505603                            
022566,000499: 

Page 515

022568,000501: 

There is no source code on this page — RSB 2004

022570,000503: 
022571,000504: 
022572,000505: 
022573,000506: 

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