Source Code

These source-code files were obtained by digitally photographing the Colossus 237 program listing from the private collection of original AGC developer Fred Martin, and then modifying pre-existing Colossus 249 (Apollo 9) source files to incorporate changes. Note that the page images presented online are of reduced quality, and that additional 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:

	GAP: ASSEMBLE REVISION 237 OF AGC PROGRAM COLOSSUS 
	BY NASA 2021111-031  1:17 AUG. 24, 1968

061700,000002:                                                                                                 #  Copyright:    Public domain.
061701,000003:                                                                                                 #  Filename:      UPDATE_PROGRAM.agc
061702,000004:                                                                                                 #  Purpose:      Part of the source code for Colossus build 237.
061703,000005:                                                                                                 #                This is for the Command Module's (CM) Apollo Guidance
061704,000006:                                                                                                 #                Computer (AGC), we believe for Apollo 8.
061705,000007:                                                                                                 #  Assembler:    yaYUL
061706,000008:                                                                                                 #  Contact:      Jim Lawton <jim DOT lawton AT gmail DOT com>
061707,000009:                                                                                                 #  Website:      www.ibiblio.org/apollo/index.html
061708,000010:                                                                                                 #  Page scans:   www.ibiblio.org/apollo/ScansForConversion/Colossus237/
061709,000011:                                                                                                 #  Mod history:  2011-04-17 JL    Adapted from corresponding Colossus 249 file.
061710,000012: 
061711,000013:                                                                                                 # # Page 1461
061712,000014:                                                                                                 #  PROGRAM NAME:   P27
061713,000015:                                                                                                 #  WRITTEN BY:     KILROY/ DE WOLF
061714,000016: 
061715,000017:                                                                                                 #  MOD NO:         0
061716,000018:                                                                                                 #  MOD BY:         KILROY
061717,000019:                                                                                                 #  DATE:           01DEC67
061718,000020: 
061719,000021:                                                                                                 #  LOG SECTION:    UPDATE PROGRAM.
061720,000022: 
061721,000023:                                                                                                 #  FUNCT. DESCR:   P27 (THE UPDATE PROGRAM) PROCESSES COMMANDS AND DATA
061722,000024:                                                                                                 #                      INSERTIONS REQUESTED BY THE GROUND VIA UPLINK.
061723,000025:                                                                                                 #                      THE P27 PROGRAM WILL ACCEPT UPDATES
061724,000026:                                                                                                 #                      ONLY DURING P00 FOR THE LM, AND ONLY DURINT P00,
061725,000027:                                                                                                 #                  P02, AND FRESH START FOR THE CSM
061726,000028: 
061727,000029:                                                                                                 #  CALLING SEQ:    PROGRAM IS INITIATED BY UPLINK ENTRY OF VERBS 70, 71, 72 AND 73.
061728,000030: 
061729,000031:                                                                                                 #  SUBROUTINES:    TESTXACT, NEWMODEX, NEWMODEX +3, GOXDSPF, BANKCALL, FINDVAC, INTPRET, INTSTALL, TPAGREE,
061730,000032:                                                                                                 #                  INTWAKEU, ENDEXT, POSTJUMP, FALTON, NEWPHASE, PHASCHNG
061731,000033: 
061732,000034:                                                                                                 #  NORMAL EXIT:    TC ENDEXT
061733,000035: 
061734,000036:                                                                                                 #  ALARM/ABORT:    TC FALTON FOLLOWED BY TC ENDEXT
061735,000037: 
061736,000038:                                                                                                 #  RESTARTS:       P27 IS RESTART PROTECTED IN TWO WAYS...
061737,000039:                                                                                                 #                  1. PRIOR TO VERIFLAG INVERSION(WHICH IS CAUSED BY THE GROUND/ASTRONAUT'S VERIFICATION OF UPDATE
061738,000040:                                                                                                 #                     DATA BY SENDING A V33E WHEN V21N02 IS FLASHING)---
061739,000041:                                                                                                 #                     NO PROTECTION EXCEPT PRE-P27 MODE IS RESTROED, COAST + ALIGN DOWNLIST IS SELECTED AND UPLINE
061740,000042:                                                                                                 #                     ACTIVITY LIGHT IS TURNED OFF.(JUST AS IF A V34E WAS SENT DURING P27 DATA LOADS).
061741,000043:                                                                                                 #                     V70,V71,V72 OR V73 WILL HAVE TO BE COMPLETELY RESENT BY USER.
061742,000044:                                                                                                 #                  2. AFTER VERIFLAG INVERSION(WHEN UPDATE OF THE SPECIFIED ERASABLES IS BEING PERFORMED)---
061743,000045:                                                                                                 #                     PROTECTED AGAINST RESTARTS.
061744,000046: 
061745,000047:                                                                                                 #  DEBRIS:         UPBUFF   (20D)  TEMP STORAGE FOR ADDRESSES AND CONTENTS.
061746,000048:                                                                                                 #                  UPVERB   (1)    VERB NUMBER MINUS 70D (E.G. FOR V72, UPVERB = 72D - 70D = 2)
061747,000049:                                                                                                 #                  UPOLDMOD (1)    FOR MAJOR MODE INTERRUPTED BY P27.
061748,000050:                                                                                                 #                  COMPNUMB (1)    TOTAL NUMBER OF COMPONENTS TO BE TRANSMITTED.
061749,000051:                                                                                                 #                  UPCOUNT  (1)    ACTUAL NUMBER OF COMPONENTS RECEIVED.
061750,000052:                                                                                                 #                  UPTEMP   (1)    SCRATCH, BUT USUALLY CONTAINS COMPONENT NUMBER TO BE CHANGED DURING VERIFY CYCLE
061751,000053: 
061752,000054: 
061753,000055:                                                                                                 #  INPUT:
061754,000056: 
061755,000057:                                                                                                 #   ENTRY            DESCRIPTION
061756,000058: 
061757,000059:                                                                                                 #   V70EXXXXXEXXXXXE (LIFTOFF TIME INCREMENT) DOUBLE PRECISION OCTAL TIME INCREMENT, XXXXX XXXXX,
061758,000060:                                                                                                 #                    IS ADDED TO TEPHEM, SUBTRACTED FROM AGC CLOCK(TIME2,TIME1), SUBTRACTED FROM CSM STATE
061759,000061:                                                                                                 #                    VECTOR TIME(TETCSM) AND SUBTRACTED FROM LEM STATE VECTOR TIME(TETLEM).
061760,000062:                                                                                                 #                    THE DP OCTAL TIME INCREMENT IS SCALED AT 2(28).
061761,000063:                                                                                                 # # Page 1462
061762,000064:                                                                                                 #   V71EIIEAAAAE     (CONTIGUOUS BLOCK UPDATE) II-2 OCTAL COMPONENTS,XXXXX,
061763,000065:                                                                                                 #   XXXXXE           ARE LOADED INTO ERASABLE STARTING AT ECADR, AAAA.
061764,000066:                                                                                                 #  XXXXXE            IT IS .GE. 3 .AND. .LE. 200.,
061765,000067:                                                                                                 #                    AND (AAAA + II - 3) DOES NOT PRODUCE AN ADDRESS IN THE
061766,000068:                                                                                                 #  9 NEXT BANK
061767,000069:                                                                                                 #    .               SCALING IS SAME AS INTERNAL REGISTERS.
061768,000070: 
061769,000071:                                                                                                 #   V72EIIE          (SCATTER UPDATE) (II-1)/2 OCTAL COMPONENTS,XXXXX, ARE
061770,000072:                                                                                                 #   AAAAEXXXXXE      LOADED INTO ERASABLE LOCATIONS, AAAA.
061771,000073:                                                                                                 #   AAAAEXXXXXE      II IS .GE. 3 .AND. .LE. 19D, AND MUST BE ODD.
061772,000074:                                                                                                 #    .               SCALING IS SAME AS INTERNAL REGISTERS.
061773,000075: 
061774,000076:                                                                                                 #   V73EXXXXXEXXXXXE (OCTAL CLOCK INCREMENT) DOUBLE PRECISION OCTAL TIME
061775,000077:                                                                                                 #                    INCREMENT XXXXX XXXXX, IS ADDED TO THE AGC CLOCK, IN
061776,000078:                                                                                                 #                    CENTISECONDS SCALED AT (2)28.
061777,000079:                                                                                                 #                    THIS LOAD IS THE OCTAL EQUIVALENT OF V55.
061778,000080: 
061779,000081: 
061780,000082:                                                                                                 #  OUTPUT:         IN ADDITION TO THE ABOVE REGISTER LOADS, ALL UPDATES
061781,000083:                                                                                                 #                  COMPLEMENT BIT3 OF FLAGWORD7.
061782,000084: 
061783,000085: 
061784,000086:                                                                                                 #  ADDITIONAL NOTES: VERB 71, JUST DEFINED ABOVE WILL BE USED TO PERFORM BUT NOT LIMITED TO THE FOLLOWING UPDATES--
061785,000087: 
061786,000088:                                                                                                 #                  1. CSM/LM STATE VECTOR UPDATE
061787,000089:                                                                                                 #                  2. REFSMMAT UPDATE
061788,000090: 
061789,000091: 
061790,000092:                                                                                                 #           THE FOLLOWING COMMENTS DELINEATE EACH SPECIAL UPDATE----
061791,000093: 
061792,000094:                                                                                                 #  1. CSM/LM STATE VECTOR UPDATE(ALL DATA ENTRIES IN OCTAL)
061793,000095: 
061794,000096:                                                                                                 #  ENTRIES:        DATA DEFINITION:                                        SCALE FACTORS:
061795,000097:                                                                                                 #  V71E            CONTIGUOUS BLOCK UPDATE VERB
061796,000098:                                                                                                 #     21E          NUMBER OF COMPONENTS FOR STATE VECTOR UPDATE
061797,000099:                                                                                                 #   AAAAE          ECADR OF 'UPSVFLAG'
061798,000100:                                                                                                 #  XXXXXE          STATE VECTOR IDENTIFIER: 00001 FOR CSM, 77776 FOR LEM - EARTH SPHERE OF INFLUENCE SCALING
061799,000101:                                                                                                 #                                           00002 FOR CSM, 77775 FOR LEM - LUNAR SPHERE OF INFLUENCE SCALING
061800,000102:                                                                                                 #  XXXXXEXXXXXE    X POSITION
061801,000103:                                                                                                 #  XXXXXEXXXXXE    Y POSITION
061802,000104:                                                                                                 #  XXXXXEXXXXXE    Z POSITION
061803,000105:                                                                                                 #  XXXXXEXXXXXE    X VELOCITY
061804,000106:                                                                                                 #  XXXXXEXXXXXE    Y VELOCITY
061805,000107:                                                                                                 #  XXXXXEXXXXXE    Z VELOCITY
061806,000108:                                                                                                 #  XXXXXEXXXXXE    TIME FROM AGC CLOCK ZERO
061807,000109:                                                                                                 #  V33E            VERB 33 TO SIGNAL THAT THE STATE VECTOR IS READY TO BE STORED.
061808,000110: 
061809,000111: 
061810,000112:                                                                                                 #  2. REFSMMAT(ALL DATA ENTRIES IN OCTAL)
061811,000113:                                                                                                 #  ENTRIES:        DATA DEFINITION:                                        SCALE FACTORS:
061812,000114:                                                                                                 # # Page 1463
061813,000115:                                                                                                 #  V71E            CONTIGUOUS BLOCK UPDATE VERB
061814,000116:                                                                                                 #     24E          NUMBER OF COMPONENTS FOR REFSMMAT UPDATE
061815,000117:                                                                                                 #   AAAAE          ECADR OF 'REFSMMAT'
061816,000118:                                                                                                 #  XXXXXEXXXXXE    ROW 1 COLUMN 1                                          2(-1)
061817,000119:                                                                                                 #  XXXXXEXXXXXE    ROW 1 COLUMN 2                                          2(-1)
061818,000120:                                                                                                 #  XXXXXEXXXXXE    ROW 1 COLUMN 3                                          2(-1)
061819,000121:                                                                                                 #  XXXXXEXXXXXE    ROW 2 COLUMN 1                                          2(-1)
061820,000122:                                                                                                 #  XXXXXEXXXXXE    ROW 2 COLUMN 2                                          2(-1)
061821,000123:                                                                                                 #  XXXXXEXXXXXE    ROW 2 COLUMN 3                                          2(-1)
061822,000124:                                                                                                 #  XXXXXEXXXXXE    ROW 3 COLUMN 1                                          2(-1)
061823,000125:                                                                                                 #  XXXXXEXXXXXE    ROW 3 COLUMN 2                                          2(-1)
061824,000126:                                                                                                 #  XXXXXEXXXXXE    ROW 3 COLUMN 3                                          2(-1)
061825,000127:                                                                                                 #  V33E            VERB 33 TO SIGNAL THAT REFSMMAT IS READY TO BE STORED.
061826,000128: 
061827,000129: 07,3717                                          BANK     07                                    
061828,000130: 43,2000                                          SETLOC   EXTVERBS                              
061829,000131: 43,2000                                          BANK                                           
061830,000132: 
061831,000133: 43,3721  E3,1706                                 EBANK=   TEPHEM                                
061832,000134: 
061833,000135: 43,3721                                          COUNT*   $$/P27                                
061834,000136: 43,3721           34714        V70UPDAT          CAF      UP70                                  #  COMES HERE ON V70E
061835,000137: 43,3722           13730                          TCF      V73UPDAT   +1                         
061836,000138: 
061837,000139: 43,3723           34712        V71UPDAT          CAF      UP71                                  #  COMES HERE ON V71E
061838,000140: 43,3724           13730                          TCF      V73UPDAT   +1                         
061839,000141: 
061840,000142: 43,3725           34711        V72UPDAT          CAF      UP72                                  #  COMES HERE ON V72E
061841,000143: 43,3726           13730                          TCF      V73UPDAT   +1                         
061842,000144: 
061843,000145: 43,3727           36214        V73UPDAT          CAF      UP73                                  #  COMES HERE ON V73E
061844,000146: 
061845,000147: 43,3730           54331                 +1       TS       UPVERBSV                              #  SAVE UPVERB UNTIL IT'S OK TO ENTER P27
061846,000148: 
061847,000149: 43,3731           02076                          TC       TESTXACT                              #  GRAB DISPLAY IF AVAILABLE, OTHERWISE
061848,000150:                                                                                                 #                                           TURN*OPERATOR ERROR* ON AND TERMINATEJOB
061849,000151: 
061850,000152: 43,3732           31011                          CA       MODREG                                #  CHECK IF UPDATE ALLOWED
061851,000153: 43,3733           00006                          EXTEND                                         #  FIRST CHECK FOR MODREG = +0, -0
061852,000154: 43,3734           13736                          BZF      +2                                    #  (+0 = P00, -0 = FRESH START)
061853,000155: 43,3735           03746                          TC       CKMDMORE                              #  NOW CHECK FOR PROGRAM WHICH CAN BE
061854,000156:                                                                                                 #                                           INTERRUPTED BY P27.
061855,000157: 
061856,000158: 43,3736           31011                          CAE      MODREG                                #  UPDATE ALLOWED.
061857,000159: 43,3737           54301                          TS       UPOLDMOD                              #  SAVE CURRENT MAJOR MODE
061858,000160: 
061859,000161:                                                                                                 # # Page 1464
061860,000162: 43,3740           30331                          CAE      UPVERBSV                              #  SET UPVERB TO INDICDATE TO P27
061861,000163: 43,3741           54302                          TS       UPVERB                                #  WHICH EXTENDED VERB CALLED IT.
061862,000164: 
061863,000165: 43,3742           34712                          CAF      ONE                                   
061864,000166: 43,3743           54303                          TS       UPCOUNT                               #  INITIALIZE UPCOUNT TO 1
061865,000167: 
061866,000168: 43,3744           04574                          TC       POSTJUMP                              #  LEAVE EXTENDED VERB BANK AND
061867,000169: 43,3745           57335                          CADR     UPPART2                               #  GO TO UPDATE PROGRAM(P27) BANK.
061868,000170: 
061869,000171: 43,3746           40101        CKMDMORE          CS       FLAGWRD5                              
061870,000172: 43,3747           74703                          MASK     BIT8                                  #  CHECK IF COMPUTER IS LGC
061871,000173: 43,3750           10000                          CCS      A                                     #  IS COMPUTER LGC OR AGC
061872,000174: 43,3751           13757        UPERLEM           TCF      UPERROR                               #  ERROR- IT'S THE LEM + MODE IS NOT POO.
061873,000175: 43,3752           44711                          CS       TWO                                   
061874,000176: 43,3753           71011                          MASK     MODREG                                
061875,000177: 43,3754           10000                          CCS      A                                     
061876,000178: 43,3755           13757        UPERCMC           TCF      UPERROR                               #  ERROR- IT'S THE CMC AND MODE IS NOT
061877,000179:                                                                                                 #                                           P00 OR P02.
061878,000180: 43,3756           00002                          TC       Q                                     #  ALLOW UPDATE TO PROCEED
061879,000181: 
061880,000182: 43,3757           04574        UPERROR           TC       POSTJUMP                              #  TURN ON 'OPERATOR ERROR' LIGHT
061881,000183: 43,3760           57716                          CADR     UPERROUT   +2                         #  GO TO COMMON UPDATE PROGRAM EXIT
061882,000184: 
061883,000185: 43,3761     4714               UP70              EQUALS   ZERO                                  
061884,000186: 43,3761     4712               UP71              EQUALS   ONE                                   
061885,000187: 43,3761     4711               UP72              EQUALS   TWO                                   
061886,000188: 43,3761     6214               UP73              EQUALS   THREE                                 
061887,000189: 
061888,000190: 
061889,000191: 04,3645                                          BANK     04                                    
061890,000192: 27,2000                                          SETLOC   UPDATE2                               
061891,000193: 27,2000                                          BANK                                           
061892,000194: 
061893,000195: 27,3335                                          COUNT*   $$/P27                                
061894,000196: 
061895,000197: 27,3335                        UPPART2           EQUALS                                         #  UPDATE PROGRAM - PART 2
061896,000198: 
061897,000199: 27,3335           05301                          TC       PHASCHNG                              #  SET RESTART GROUP 6 TO RESTORE OLD MODE
061898,000200: 27,3336           07026                          OCT      07026                                 #  AND DOWNLIST AND EXIT IF RESTART OCCURS.
061899,000201: 27,3337           30000                          OCT      30000                                 #  PRIORITY SAME AS CHRPRIO
061900,000202: 27,3340     0304                                 EBANK=   UPBUFF                                
061901,000203: 27,3340           03646 56060                    2CADR    UPOUT      +1                         
061902,000204: 
061903,000205: 27,3342           34712                          CAF      ONE                                   
061904,000206: 27,3343           54332                          TS       DNLSTCOD                              #  DOWNLIST
061905,000207: 
061906,000208: 27,3344           05243                          TC       NEWMODEX                              #  SET MAJOR MODE = 27
061907,000209: 27,3345           00033                          DEC      27         B-14                       
061908,000210:                                                                                                 # # Page 1465
061909,000211: 27,3346           50302                          INDEX    UPVERB                                #  BRANCH DEPENDING ON WHETHER THE UPDATE
061910,000212: 27,3347           13350                          TCF      +1                                    #  VERB REQUIRES A FIXED OR VARIABLE NUMBER
061911,000213: 27,3350           13353                          TCF      +3                                    #  V70 FIXED.               (OF COMPONENTS.
061912,000214: 27,3351           13356                          TCF      OHWELL1                               #  V71 VARIABLE - GO GET NO. OF COMPONENTS
061913,000215: 27,3352           13356                          TCF      OHWELL1                               #  V72 VARIABLE - GO GET NO. OF COMPONENTS
061914,000216: 27,3353           34711                          CA       TWO                                   #  V73 (AND V70) FIXED
061915,000217: 27,3354           54300                          TS       COMPNUMB                              #  SET NUMBER OF COMPONENTS TO 2.
061916,000218: 27,3355           13401                          TCF      OHWELL2                               #  GO GET THE TWO UPDATE COMPONENTS
061917,000219: 
061918,000220: 27,3356           33451        OHWELL1           CAF      ADUPBUFF                              #  * REQUEST USER TO SEND NUMBER  *
061919,000221: 27,3357           54156                          TS       MPAC       +2                         #  * OF COMPONENTS PARAMETER(II). *
061920,000222: 27,3360           33452                 +2       CAF      UPLOADNV                              #  (CKV432 RETURNS HERE IF V32 ENCOUNTERED)
061921,000223: 27,3361           04555                          TC       BANKCALL                              #  DISPLAY A FLASHING V21N01
061922,000224: 27,3362           20465                          CADR     GOXDSPF                               #  TO REQUEST II.
061923,000225: 27,3363           13646                          TCF      UPOUT4                                #  V32 TERMINATE UPDATE(P27) RETURN
061924,000226: 27,3364           13360                          TCF      OHWELL1    +2                         
061925,000227: 27,3365           03442                          TC       CK4V32                                #  DATA OR V32 RETURN
061926,000228: 27,3366           44711                          CS       BIT2                                  
061927,000229: 27,3367           60304                          AD       UPBUFF                                #  IS II(NUMBER OF COMPONENTS PARAMETER)
061928,000230: 27,3370           00006                          EXTEND                                         #  .GE. 3 AND .LE. 20D.
061929,000231: 27,3371           63360                          BZMF     OHWELL1    +2                         
061930,000232: 27,3372           40304                          CS       UPBUFF                                
061931,000233: 27,3373           64376                          AD       UP21                                  
061932,000234: 27,3374           00006                          EXTEND                                         
061933,000235: 27,3375           63360                          BZMF     OHWELL1    +2                         
061934,000236: 27,3376           30304                          CAE      UPBUFF                                
061935,000237: 27,3377           54300                          TS       COMPNUMB                              #  SAVE II IN COMPNUMB
061936,000238: 
061937,000239: 
061938,000240:                                                                                                 #           UPBUFF LOADING SEQUENCE
061939,000241: 
061940,000242: 27,3400           24303                          INCR     UPCOUNT                               #  INCREMENT COUNT OF COMPONENTS RECEIVED.
061941,000243: 27,3401           33616        OHWELL2           CAF      ADUPBFM1                              #  CALCULATE LOCATION(ECADR) IN UPBUFF
061942,000244: 27,3402           60303                          AD       UPCOUNT                               #  WHERE NEXT COMPONENT SHOULD BE STORED.
061943,000245: 27,3403           54156                 +2       TS       MPAC       +2                         #  PLACE ECADR INTO R3.
061944,000246: 27,3404           33452                 +3       CAF      UPLOADNV                              #  (CK4V32 RETURNS HERE IF V32 ENCOUNTERED)
061945,000247: 27,3405           04555                          TC       BANKCALL                              #  DISPLAY A FLASHING V21N01
061946,000248: 27,3406           20465                          CADR     GOXDSPF                               #  TO REQUEST DATA.
061947,000249: 27,3407           13646                          TCF      UPOUT4                                #  V34 TERMINATE UPDATE(P27) RETURN.
061948,000250: 27,3410           13404                          TCF      OHWELL2    +3                         #  V33 PROCEED RETURN
061949,000251: 27,3411           03442                          TC       CK4V32                                #  DATA OR V32 RETURN
061950,000252: 27,3412           40303                          CS       UPCOUNT                               #  HAVE WE FINISHED RECEIVING ALL
061951,000253: 27,3413           60300                          AD       COMPNUMB                              #  THE DATA WE EXPECTED.
061952,000254: 27,3414           00006                          EXTEND                                         
061953,000255: 27,3415           63417                          BZMF     UPVERIFY                              #  YES- GO TO VERIFICATION SEQUENCE
061954,000256: 27,3416           13400                          TCF      OHWELL2    -1                         #  NO- REQUEST ADDITIONAL DATA.
061955,000257: 
061956,000258: 
061957,000259:                                                                                                 #           VERIFY SEQUENCE
061958,000260: 
061959,000261:                                                                                                 # # Page 1466
061960,000262: 27,3417           33450        UPVERIFY          CAF      ADUPTEMP                              #  PLACE ECADR WHERE COMPONENT NO. INDEX
061961,000263: 27,3420           54156                          TS       MPAC       +2                         #  IS TO BE STORED INTO R3.
061962,000264: 27,3421           33453                          CAF      UPVRFYNV                              #  (CK4V32 RETURNS HERE IF V32 ENCOUNTERED)
061963,000265: 27,3422           04555                          TC       BANKCALL                              #  DISPLAY A FLASHING V21N02 TO REQUEXT
061964,000266: 27,3423           20465                          CADR     GOXDSPF                               #  DATA CORRECTION OR VERIFICATION.
061965,000267: 27,3424           13646                          TCF      UPOUT4                                #  V34 TERMINATE UPDATE(P27) RETURN
061966,000268: 27,3425           13454                          TCF      UPSTORE                               #  V33 DATA SENT IS GOOD. GO STORE IT.
061967,000269: 27,3426           03442                          TC       CK4V32                                #  COMPONENT NO. INDEX OR V32 RETURN
061968,000270: 27,3427           30330                          CA       UPTEMP                                #  DOES THE COMPONENT NO. INDEX JUST SENT
061969,000271: 27,3430           00006                          EXTEND                                         #  SPECIFY A LEGAL COMPONENT NUMBER?
061970,000272: 27,3431           63417                          BZMF     UPVERIFY                              #  NO, IT IS NOT POSITIVE NONZERO
061971,000273: 27,3432           40330                          CS       UPTEMP                                
061972,000274: 27,3433           60300                          AD       COMPNUMB                              
061973,000275: 27,3434           64712                          AD       BIT1                                  
061974,000276: 27,3435           00006                          EXTEND                                         
061975,000277: 27,3436           63417                          BZMF     UPVERIFY                              #  NO
061976,000278: 27,3437           33616                          CAF      ADUPBFM1                              #  YES- BASED ON THE COMPONENT NO. INDEX
061977,000279: 27,3440           60330                          AD       UPTEMP                                #  CALCULATE THE ECADR OF LOCATION IN
061978,000280: 27,3441           13403                          TCF      OHWELL2    +2                         #  UPBUFF WHICH USER WANTS TO CHANGE.
061979,000281: 
061980,000282: 27,3442  27,3646               UPOUT4            EQUALS   UPOUT      +1                         #  COMES HERE ON V34 TO TERMINATE UPDATE.
061981,000283: 
061982,000284: 
061983,000285:                                                                                                 #           CHECK FOR VERB 32 SEQUENCE
061984,000286: 
061985,000287: 27,3442           40154        CK4V32            CS       MPAC                                  #  ON DATA RETURN FROM 'GOXDSPF'
061986,000288: 27,3443           74705                          MASK     BIT6                                  #  ON DATA RETURN FROM "GOXDSP"& THE CON-
061987,000289: 27,3444           10000                          CCS      A                                     #  TENTS OF MPAC = VERB.  SO TEST FOR V32.
061988,000290: 27,3445           00002                          TC       Q                                     #  IT'S NOT A V32, IT'S DATA.  PROCEED.
061989,000291: 27,3446           50002                          INDEX    Q                                     
061990,000292: 27,3447           77771                          TC       0          -6                         #  V32 ENCOUNTERED - GO BACK AND GET DATA
061991,000293: 
061992,000294: 27,3450           00330        ADUPTEMP          ADRES    UPTEMP                                #  ADDRESS OF TEMP STORAGE FOR CORRECTIONS
061993,000295: 27,3451           00304        ADUPBUFF          ADRES    UPBUFF                                #  ADDRESS OF UPDATE DATA STORAGE BUFFER
061994,000296: 27,3452           05201        UPLOADNV          VN       2101                                  #  VERB 21 NOUN 01
061995,000297: 27,3453           05202        UPVRFYNV          VN       2102                                  #  VERB 21 NOUN 02
061996,000298: 27,3454     4376               UP21              =        MD1                                   #  DEC 21 = MAX NO OF COMPONENTS +1
061997,000299: 27,3454     4715               UPDTPHAS          EQUALS   FIVE                                  
061998,000300: 
061999,000301:                                                                                                 #           PRE-STORE AND FAN TO APPROPRIATE BRANCH SEQUENCE
062000,000302: 
062001,000303: 27,3454                        UPSTORE           EQUALS                                         #  GROUND HAS VERIFIED UPDATE. STORE DATA.
062002,000304: 
062003,000305: 27,3454           00004                          INHINT                                         
062004,000306: 
062005,000307: 27,3455           30103                          CAE      FLAGWRD7                              #  INVERT VERIFLAG(BIT 3 OF FLAGWRD7) TO
062006,000308: 27,3456           56001                          XCH      L                                     #  INDICATE TO THE GROUND(VIA DOWNLINK)
062007,000309: 27,3457           34710                          CAF      BIT3                                  #  THAT THE V33(WHICH THE GROUND SENT TO
062008,000310: 27,3460           00006                          EXTEND                                         #  VERIFY THE UPDATE) HAS BEEN SUCCESSFULLY
062009,000311: 27,3461           06001                          RXOR     LCHAN                                 #  RECEIVED BY THE UPDATE PROGRAM
062010,000312:                                                                                                 # # Page 1467
062011,000313: 27,3462           54103                          TS       FLAGWRD7                              
062012,000314: 
062013,000315: 27,3463           05301                          TC       PHASCHNG                              #  SET RESTART GROUP 6 TO REDO THE UPDATE
062014,000316: 27,3464           04026                          OCT      04026                                 #  DATA STORE IF A RESTART OCCURS.
062015,000317: 27,3465           00004                          INHINT                                         #  (BECAUSE PHASCHNG DID A RELINT)
062016,000318: 
062017,000319: 27,3466           44711                          CS       TWO                                   #  GO TO UPFNDVAC IF INSTALL IS REQUIRED.
062018,000320: 27,3467           60302                          AD       UPVERB                                #  THAT IS, IF IT'S A V70 - V72.
062019,000321: 27,3470           00006                          EXTEND                                         #  GO TO UPEND73 IF IT'S A V73.
062020,000322: 27,3471           63500                          BZMF     UPFNDVAC                              
062021,000323: 
062022,000324:                                                                                                 #           VERB 73 BRANCH
062023,000325: 
062024,000326: 27,3472           00006        UPEND73           EXTEND                                         #  V73-PERFORM DP OCTAL AGC CLOCK INCREMENT
062025,000327: 27,3473           30305                          DCA      UPBUFF                                
062026,000328: 27,3474           52315                          DXCH     UPBUFF     +8D                        
062027,000329: 27,3475           03523                          TC       TIMEDIDL                              
062028,000330: 27,3476           04400                          TC       FALTON                                #  ERROR- TURN ON *OPERATOR ERROR* LIGHT
062029,000331: 27,3477           03646                          TC       UPOUT      +1                         #  GO TO COMMON UPDATE PROGRAM EXIT
062030,000332: 
062031,000333: 27,3500           34371        UPFNDVAC          CAF      CHRPRIO                               #  (USE EXTENDED VERB PRIORITY)
062032,000334: 27,3501           05042                          TC       FINDVAC                               #  GET VAC AREA FOR 'CALL INTSTALL'
062033,000335: 27,3502  E3,1706                                 EBANK=   TEPHEM                                
062034,000336: 27,3502           03505 56063                    2CADR    UPJOB                                 #  (NOTE: THIS WILL ALSO SET EBANK FOR
062035,000337: 27,3504           05112                          TC       ENDOFJOB                              #  'TEPHEM' UPDATE BY V70)
062036,000338: 
062037,000339: 27,3505           06006        UPJOB             TC       INTPRET                               #  THIS COULD BE A STATE VECTOR UPDATE--SO
062038,000340: 27,3506           77624                          CALL                                           #  WAIT(PUT JOB TO SLEEP) IF ORBIT INT(OI)
062039,000341: 27,3507           27371                                   INTSTALL                              #  IS IN PROGRESS--OR--GRAB OI AND RETURN
062040,000342:                                                                                                 #                                           TO UPWAKE IF OI IS NOT IN PROGRESS.
062041,000343: 
062042,000344: 27,3510           77776        UPWAKE            EXIT                                           
062043,000345: 
062044,000346: 27,3511           05301                          TC       PHASCHNG                              #  RESTART PROTECT(GROUP 6)
062045,000347: 27,3512           04026                          OCT      04026                                 
062046,000348: 
062047,000349: 27,3513           05435                          TC       UPFLAG                                #  SET INTEGRATION RESTART BIT
062048,000350: 27,3514           00236                          ADRES    REINTFLG                              
062049,000351: 27,3515           00004                          INHINT                                         
062050,000352: 27,3516                        UPPART3           EQUALS                                         
062051,000353: 
062052,000354: 27,3516           50302                          INDEX    UPVERB                                #  BRANCH TO THE APPROPRIATE UPDATE VERB
062053,000355: 27,3517           13520                          TCF      +1                                    #  ROUTINE TO ACTUALLY PERFORM THE UPDATE
062054,000356: 27,3520           13657                          TCF      UPEND70                               #  V70
062055,000357: 27,3521           13566                          TCF      UPEND71                               #  V71
062056,000358: 27,3522           13620                          TCF      UPEND72                               #  V72
062057,000359: 
062058,000360: 
062059,000361:                                                                                                 #           ROUTINE TO INCREMENT CLOCK(TIME2,TIME1) WITH CONTENTS OF DP WORD AT UPBUFF.
062060,000362:                                                                                                 # # Page 1468
062061,000363: 27,3523           00006        TIMEDIDL          EXTEND                                         
062062,000364: 27,3524           22330                          QXCH     UPTEMP                                #  SAVE Q FOR RETURN
062063,000365: 27,3525           34714                          CAF      ZERO                                  #  ZERO AND SAVE TIME2,TIME1
062064,000366: 27,3526           22007                          ZL                                             
062065,000367: 27,3527           52025                          DXCH     TIME2                                 
062066,000368: 27,3530           52327                          DXCH     UPBUFF     +18D                       #  STORE IN CASE OF OVERFLOW
062067,000369: 
062068,000370: 27,3531           34715                          CAF      UPDTPHAS                              #  SO
062069,000371: 27,3532           54001                          TS       L                                     #  A
062070,000372: 27,3533           40000                          COM                                            #  QUICK
062071,000373: 27,3534           52765                          DXCH     -PHASE6                               #  PHASCHNG
062072,000374: 
062073,000375: 27,3535           00004        TIMEDIDR          INHINT                                         
062074,000376: 
062075,000377: 27,3536           34714                          CAF      ZERO                                  
062076,000378: 27,3537           22007                          ZL                                             #  PICK UP INCRMENTER(AND ZERO
062077,000379: 27,3540           54156                          TS       MPAC       +2                         #  IT IN CASE OF RESTARTS) AND
062078,000380: 27,3541           52315                          DXCH     UPBUFF     +8D                        #  STORE IT
062079,000381: 27,3542           52155                          DXCH     MPAC                                  #  INTO MPAC FOR TPAGREE.
062080,000382: 
062081,000383: 27,3543           00006                          EXTEND                                         
062082,000384: 27,3544           30327                          DCA      UPBUFF     +18D                       
062083,000385: 27,3545           20155                          DAS      MPAC                                  #  FORM SUM IN MPAC
062084,000386: 27,3546           00006                          EXTEND                                         
062085,000387: 27,3547           13556                          BZF      DELTATOK                              #  TEST FOR OVERFLOW
062086,000388: 27,3550           34714                          CAF      ZERO                                  
062087,000389: 27,3551           52327                          DXCH     UPBUFF     +18D                       #  OVERFLOW, RESTORE OLD VALUE OF CLOCK
062088,000390: 27,3552           20025                          DAS      TIME2                                 #  AND TURN ON OPERATOR ERROR
062089,000391: 
062090,000392: 27,3553           05301                          TC       PHASCHNG                              #  RESTART PROTECT(GROUP 6)
062091,000393: 27,3554           04026                          OCT      04026                                 
062092,000394: 
062093,000395: 27,3555           00330                          TC       UPTEMP                                #  GO TO ERROR EXIT
062094,000396: 
062095,000397: 27,3556           07226        DELTATOK          TC       TPAGREE                               #  FORCE SIGN AGREEMENT
062096,000398: 27,3557           52155                          DXCH     MPAC                                  
062097,000399: 27,3560           20025                          DAS      TIME2                                 #  INCREMENT TIME2,TIME1
062098,000400: 
062099,000401: 27,3561           05301                          TC       PHASCHNG                              #  RESTART PROTECT(GROUP 6)
062100,000402: 27,3562           04026                          OCT      04026                                 
062101,000403: 
062102,000404: 27,3563           00004                          INHINT                                         
062103,000405: 27,3564           50330                          INDEX    UPTEMP                                #  (CODED THIS WAY FOR RESTART PROTECTION)
062104,000406: 27,3565           00001                          TC       1                                     #  NORMAL RETURN
062105,000407:                                                                                                 #           VERB 71 BRANCH
062106,000408: 
062107,000409: 27,3566           30305        UPEND71           CAE      UPBUFF     +1                         #  SET EBANK
062108,000410: 27,3567           54003                          TS       EBANK                                 #     AND
062109,000411: 27,3570           74373                          MASK     LOW8                                  #  CALCULATE
062110,000412: 27,3571           54330                          TS       UPTEMP                                #  S-REG VALUE OF RECEIVING AREA
062111,000413:                                                                                                 # # Page 1469
062112,000414: 27,3572           67714                          AD       NEG3                                  #  IN THE PROCESS OF
062113,000415: 27,3573           60300                          AD       COMPNUMB                              #  PERFORMING
062114,000416: 27,3574           00006                          EXTEND                                         #  THIS UPDATE
062115,000417: 27,3575           13603                          BZF      STORLP71                              #  WILL WE
062116,000418: 27,3576           74702                          MASK     BIT9                                  #  OVERFLOW
062117,000419: 27,3577           10000                          CCS      A                                     #  INTO THE NEXT EBANK....
062118,000420: 27,3600           13714                          TCF      UPERROUT                              #  YES
062119,000421: 
062120,000422: 27,3601           37714                          CA       NEG3                                  #  NO- CALCULATE NUMBER OF
062121,000423: 27,3602           60300                          AD       COMPNUMB                              #  WORDS TO BE STORED MINUS ONE
062122,000424: 27,3603           54154        STORLP71          TS       MPAC                                  #  SAVE NO. OF WORDS REMAINING MINUS ONE
062123,000425: 27,3604           50000                          INDEX    A                                     #  TAKE NEXT UPDATE WORD FROM
062124,000426: 27,3605           30306                          CA       UPBUFF     +2                         #  UPBUFF AND
062125,000427: 27,3606           54001                          TS       L                                     #  SAVE IT IN L
062126,000428: 27,3607           30154                          CA       MPAC                                  #  CALCULATE NEXT
062127,000429: 27,3610           60330                          AD       UPTEMP                                #  RECEIVING ADDRESS
062128,000430: 27,3611           50000                          INDEX    A                                     
062129,000431: 27,3612  E3,1400                                 EBANK=   1400                                  
062130,000432: 27,3612           23400                          LXCH     1400                                  #  UPDATE THE REGISTER  BY CONTENTS OF L
062131,000433: 27,3613  E3,1706                                 EBANK=   TEPHEM                                
062132,000434: 27,3613           10154                          CCS      MPAC                                  #  ARE THERE ANY WORDS LEFT TO BE STORED
062133,000435: 27,3614           13603                          TCF      STORLP71                              #  YES
062134,000436: 27,3615           13645                          TCF      UPOUT                                 #  NO- THEN EXIT UPDATE PROGRAM
062135,000437: 27,3616           00303        ADUPBFM1          ADRES    UPBUFF     -1                         #  SAME AS ADUPBUFF BUT LESS 1 (DON'T MOVE)
062136,000438: 27,3617           13645                          TCF      UPOUT                                 #  NO- EXIT UPDATE(HERE WHEN COMPNUMB = 3)
062137,000439: 
062138,000440: 
062139,000441:                                                                                                 #           VERB 72 BRANCH
062140,000442: 
062141,000443: 27,3620           34712        UPEND72           CAF      BIT1                                  #  HAVE AN ODD NO. OF COMPONENTS
062142,000444: 27,3621           70300                          MASK     COMPNUMB                              #  BEEN SENT FOR A V72 UPDATE...
062143,000445: 27,3622           10000                          CCS      A                                     
062144,000446: 27,3623           13625                          TCF      +2                                    #  YES
062145,000447: 27,3624           13714                          TCF      UPERROUT                              #  ERROR- SHOULD BE ODD NO. OF COMPONENTS
062146,000448: 27,3625           44711                          CS       BIT2                                  
062147,000449: 27,3626           60300                          AD       COMPNUMB                              
062148,000450: 27,3627           54154        LDLOOP72          TS       MPAC                                  #  NOW PERFORM THE UPDATE
062149,000451: 27,3630           50000                          INDEX    A                                     
062150,000452: 27,3631           30305                          CAE      UPBUFF     +1                         #  PICK UP NEXT UPDATE WORD
062151,000453: 27,3632           22000                          LXCH     A                                     
062152,000454: 27,3633           10154                          CCS      MPAC                                  #  SET POINTER TO ECADR(MUST BE CCS)
062153,000455: 27,3634           54154                          TS       MPAC                                  
062154,000456: 27,3635           50000                          INDEX    A                                     
062155,000457: 27,3636           30305                          CAE      UPBUFF     +1                         #  PICK UP NEXT ECADR OF REG TO BE UPDATED
062156,000458: 27,3637           54003                          TS       EBANK                                 #  SET EBANK
062157,000459: 27,3640           74373                          MASK     LOW8                                  #  ISOLATE RELATIVE ADDRESS
062158,000460: 27,3641           50000                          INDEX    A                                     
062159,000461: 27,3642  E3,1400                                 EBANK=   1400                                  
062160,000462: 27,3642           23400                          LXCH     1400                                  #  UPDATE THE REGISTER BY CONTENTS OF L
062161,000463: 27,3643  E3,1706                                 EBANK=   TEPHEM                                
062162,000464:                                                                                                 # # Page 1470
062163,000465: 27,3643           10154                          CCS      MPAC                                  #  ARE WE THORUGH THE V72 UPDATE...
062164,000466: 27,3644           13627                          TCF      LDLOOP72                              #  NO
062165,000467: 
062166,000468: 
062167,000469:                                                                                                 #           NORMAL FINISH OF P27
062168,000470: 
062169,000471: 27,3645                        UPOUT             EQUALS                                         
062170,000472: 27,3645           02633                          TC       INTWAKEU                              #  RELEASE  GRAB  OF ORBITAL INTEGRATION
062171,000473: 27,3646           30301                 +1       CAE      UPOLDMOD                              #  RESTORE PRIOR P27 MODE
062172,000474: 27,3647           05246                          TC       NEWMODEX   +3                         
062173,000475: 27,3650           34714                          CAF      ZERO                                  
062174,000476: 27,3651           54332                          TS       DNLSTCOD                              
062175,000477: 27,3652           03721                          TC       UPACTOFF                              #  TURN OFF 'UPLINK ACTIVITY' LIGHT
062176,000478: 
062177,000479: 27,3653           00006                          EXTEND                                         #  KILL GROUP 6.
062178,000480: 27,3654           34714                          DCA      NEG0                                  
062179,000481: 27,3655           52765                          DXCH     -PHASE6                               
062180,000482: 
062181,000483: 27,3656           05423                          TC       ENDEXT                                #  EXTENDED VERB EXIT
062182,000484: 
062183,000485: 
062184,000486:                                                                                                 #           VERB 70 BRANCH
062185,000487: 
062186,000488: 27,3657           00006        UPEND70           EXTEND                                         #  V70 DOES THE FOLLOWING WITH DP DELTA
062187,000489: 27,3660           40305                          DCS      UPBUFF                                #  TIME IN UPBUFF
062188,000490: 27,3661           52315                          DXCH     UPBUFF     +8D                        
062189,000491: 27,3662           03523                          TC       TIMEDIDL                              #  DECREMENT AGC CLOCK
062190,000492: 
062191,000493: 27,3663           03714                          TC       UPERROUT                              #  ERROR WHILE DECREMENTING CLOCK -- EXIT
062192,000494: 
062193,000495: 27,3664  E3,1706                                 EBANK=   TEPHEM                                
062194,000496: 27,3664           00006                          EXTEND                                         
062195,000497: 27,3665           40305                          DCS      UPBUFF                                #  COPY DECREMENTERS FOR
062196,000498: 27,3666           52317                          DXCH     UPBUFF     +10D                       #  RESTART PROTECTION
062197,000499: 27,3667           00006                          EXTEND                                         
062198,000500: 27,3670           40305                          DCS      UPBUFF                                
062199,000501: 27,3671           52321                          DXCH     UPBUFF     +12D                       
062200,000502: 
062201,000503: 27,3672           05301                          TC       PHASCHNG                              #  RESTART PROTECT(GROUP 6)
062202,000504: 27,3673           04026                          OCT      04026                                 
062203,000505: 
062204,000506: 27,3674           34714                          CAF      ZERO                                  
062205,000507: 27,3675           22007                          ZL                                             
062206,000508: 27,3676           52317                          DXCH     UPBUFF     +10D                       #  DECREMENT CSM STATE VECTOR TIME
062207,000509: 27,3677           21571                          DAS      TETCSM                                
062208,000510: 
062209,000511: 27,3700           34714                          CAF      ZERO                                  
062210,000512: 27,3701           22007                          ZL                                             
062211,000513: 27,3702           52321                          DXCH     UPBUFF     +12D                       #  DECREMENT LEM STATE VECTOR TIME
062212,000514: 27,3703           21643                          DAS      TETLEM                                
062213,000515:                                                                                                 # # Page 1471
062214,000516: 27,3704           34714                          CAF      ZERO                                  
062215,000517: 27,3705           22007                          ZL                                             
062216,000518: 27,3706           52305                          DXCH     UPBUFF                                
062217,000519: 27,3707           21710                          DAS      TEPHEM     +1                         #  INCREMENT TP TEPHEM
062218,000520: 27,3710           27706                          ADS      TEPHEM                                
062219,000521: 
062220,000522: 27,3711           05301                          TC       PHASCHNG                              #  RESTART PROTECT(GROUP 6)
062221,000523: 27,3712           04026                          OCT      04026                                 
062222,000524: 
062223,000525: 27,3713     0304                                 EBANK=   UPBUFF                                
062224,000526: 
062225,000527: 27,3713           03645                          TC       UPOUT                                 #  GO TO STANDARD UPDATE PROGRAM EXIT
062226,000528: 
062227,000529: 
062228,000530:                                                                                                 #           ERROR SEQUENCE
062229,000531: 
062230,000532: 27,3714           04400        UPERROUT          TC       FALTON                                #  TURN ON *OPERATOR ERROR* LIGHT
062231,000533: 27,3715           13645                          TCF      UPOUT                                 #  GO TO COMMON UPDATE PROGRAM EXIT
062232,000534: 
062233,000535: 27,3716           04400                 +2       TC       FALTON                                #  TURN ON 'OPERATOR ERROR' LIGHT
062234,000536: 27,3717           03721                          TC       UPACTOFF                              #  TURN OFF'UPLINK ACTIVITY'LIGHT
062235,000537: 27,3720           05423                          TC       ENDEXT                                #  EXTENDED VERB EXIT
062236,000538:                                                                                                 #                                           (THE PURPOSE OF UPERROUT +2 EXIT IS
062237,000539:                                                                                                 #                                           TO PROVIDE AN ERROR EXIT WHICH DOES NOT
062238,000540:                                                                                                 #                                           RESET ANY RESTART GROUPS)
062239,000541: 
062240,000542: 
062241,000543: 
062242,000544:                                                                                                 #           :UPACTOFF: IS A ROUTINE TO TURN OFF UPLINK ACTIVITY LIGHT ON ALL EXITS FROM UPDATE PROGRAM(P27).
062243,000545: 
062244,000546: 27,3721           44710        UPACTOFF          CS       BIT3                                  
062245,000547: 27,3722           00006                          EXTEND                                         #  TURN OFF UPLINK ACTIVITY LIGHT
062246,000548: 27,3723           03011                          WAND     DSALMOUT                              #  (BIT 3 OF CHANNEL 11)
062247,000549: 27,3724           00002                          TC       Q                                     

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