Source Code
![]() |
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Linden Sims.
A team of volunteers performed the transcription and proof-reading. The scanned
page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: GAP: ASSEMBLE REVISION 56 OF AGC PROGRAM ZERLINA BY ZOROASTER 9:12 OCT. 21,1970Note that the date is the date of the printout, not the date of the program revision. |
060114,000002: ## Copyright: Public domain.
060115,000003: ## Filename: UPDATE_PROGRAM.agc
060116,000004: ## Purpose: A log section of Zerlina 56, the final revision of
060117,000005: ## Don Eyles's offline development program for the variable
060118,000006: ## guidance period servicer. It also includes a new P66 with LPD
060119,000007: ## (Landing Point Designator) capability, based on an idea of John
060120,000008: ## Young's. Neither of these advanced features were actually flown,
060121,000009: ## but Zerlina was also the birthplace of other big improvements to
060122,000010: ## Luminary including the terrain model and new (Luminary 1E)
060123,000011: ## analog display programs. Zerlina was branched off of Luminary 145,
060124,000012: ## and revision 56 includes all changes up to and including Luminary
060125,000013: ## 183. It is therefore quite close to the Apollo 14 program,
060126,000014: ## Luminary 178, where not modified with new features.
060127,000015: ## Reference: pp. 1374-1384
060128,000016: ## Assembler: yaYUL
060129,000017: ## Contact: Ron Burkey <info@sandroid.org>.
060130,000018: ## Website: www.ibiblio.org/apollo/index.html
060131,000019: ## Mod history: 2017-07-28 MAS Created from Luminary 210.
060132,000020: ## 2017-08-29 MAS Updated for Zerlina 56.
060133,000021:
![]() |
Page 1374 |
060135,000023: # PROGRAM NAME: P27
060136,000024: # WRITTEN BY: KILROY/ DE WOLF
060137,000025:
060138,000026: # MOD NO: 6
060139,000027: # MOD BY: KILROY
060140,000028: # DATE: 01DEC67
060141,000029:
060142,000030: # LOG SECTION: UPDATE PROGRAM.
060143,000031:
060144,000032: # FUNCT. DESCR: P27 (THE UPDATE PROGRAM) PROCESSES COMMANDS AND DATA
060145,000033: # INSERTIONS REQUESTED BY THE GROUND VIA UPLINK.
060146,000034: # THE P27 PROGRAM WILL ACCEPT UPDATES
060147,000035: # ONLY DURING P00 FOR THE LM, AND ONLY DURING P00,
060148,000036: # P02, AND FRESH START FOR THE CSM
060149,000037:
060150,000038: # CALLING SEQ: PROGRAM IS INITIATED BY UPLINK ENTRY OF VERBS 70, 71, 72 AND 73.
060151,000039:
060152,000040: # SUBROUTINES: TESTXACT, NEWMODEX, NEWMODEX +3, GOXDSPF, BANKCALL, FINDVAC, INTPRET, INTSTALL, TPAGREE,
060153,000041: # INTWAKEU, ENDEXT, POSTJUMP, FALTON, NEWPHASE, PHASCHNG
060154,000042:
060155,000043: # NORMAL EXIT: TC ENDEXT
060156,000044:
060157,000045: # ALARM/ABORT: TC FALTON FOLLOWED BY TC ENDEXT
060158,000046:
060159,000047: # RESTARTS: P27 IS RESTART PROTECTED IN TWO WAYS...
060160,000048: # 1. PRIOR TO VERIFLAG INVERSION(WHICH IS CAUSED BY THE GROUND/ASTRONAUT'S VERIFICATION OF UPDATE
060161,000049: # DATA BY SENDING A V33E WHEN V21N02 IS FLASHING)---
060162,000050: # NO PROTECTION EXCEPT PRE-P27 MODE IS RESTORED, COAST + ALIGN DOWNLIST IS SELECTED AND UPLINK
060163,000051: # ACTIVITY LIGHT IS TURNED OFF.(JUST AS IF A V34E WAS SENT DURING P27 DATA LOADS).
060164,000052: # V70,V71,V72 OR V73 WILL HAVE TO BE COMPLETELY RESENT BY USER.
060165,000053: # 2. AFTER VERIFLAG INVERSION(WHEN UPDATE OF THE SPECIFIED ERASABLES IS BEING PERFORMED)---
060166,000054: # PROTECTED AGAINST RESTARTS.
060167,000055:
060168,000056: # DEBRIS: UPBUFF (20D) TEMP STORAGE FOR ADDRESSES AND CONTENTS.
060169,000057: # UPVERB (1) VERB NUMBER MINUS 70D (E.G. FOR V72, UPVERB = 72D - 70D = 2)
060170,000058: # UPOLDMOD (1) FOR MAJOR MODE INTERRUPTED BY P27.
060171,000059: # COMPNUMB (1) TOTAL NUMBER OF COMPONENTS TO BE TRANSMITTED.
060172,000060: # UPCOUNT (1) ACTUAL NUMBER OF COMPONENTS RECEIVED.
060173,000061: # UPTEMP (1) SCRATCH, BUT USUALLY CONTAINS COMPONENT NUMBER TO BE CHANGED DURING VERIFY CYCLE
060174,000062:
060175,000063:
060176,000064: # INPUT:
060177,000065:
060178,000066: # ENTRY: DESCRIPTION
060179,000067:
060180,000068: # V70EXXXXXEXXXXXE (LIFTOFF TIME INCREMENT) DOUBLE PRECISION OCTAL TIME INCREMENT, XXXXX XXXXX,
060181,000069: # IS ADDED TO TEPHEM, SUBTRACTED FROM AGC CLOCK(TIME2,TIME1), SUBTRACTED FROM CSM STATE
060182,000070: # VECTOR TIME(TETCSM) AND SUBTRACTED FROM LEM STATE VECTOR TIME(TETLEM).
060183,000071: # THE DP OCTAL TIME INCREMENT IS SCALED AT 2(28).
![]() |
Page 1375 |
060185,000073: # V71EIIEAAAAE (CONTIGUOUS BLOCK UPDATE) II-2 OCTAL COMPONENTS,XXXXX,
060186,000074: # XXXXXE ARE LOADED INTO ERASABLE STARTING AT ECADR, AAAA.
060187,000075: # XXXXXE IT IS .GE. 3 .AND. .LE. 20D.,
060188,000076: # AND (AAAA + II - 3) DOES NOT PRODUCE AN ADDRESS IN THE
060189,000077: # 9 NEXT BANK
060190,000078: # . SCALING IS SAME AS INTERNAL REGISTERS.
060191,000079:
060192,000080: # V72EIIE (SCATTER UPDATE) (II-1)/2 OCTAL COMPONENTS,XXXXX, ARE
060193,000081: # AAAAEXXXXXE LOADED INTO ERASABLE LOCATIONS, AAAA.
060194,000082: # AAAAEXXXXXE II IS .GE. 3 .AND. .LE. 19D, AND MUST BE ODD.
060195,000083: # . SCALING IS SAME AS INTERNAL REGISTERS.
060196,000084:
060197,000085: # V73EXXXXXEXXXXXE (OCTAL CLOCK INCREMENT) DOUBLE PRECISION OCTAL TIME
060198,000086: # INCREMENT XXXXX XXXXX, IS ADDED TO THE AGC CLOCK, IN
060199,000087: # CENTISECONDS SCALED AT (2)28.
060200,000088: # THIS LOAD IS THE OCTAL EQUIVALENT OF V55.
060201,000089:
060202,000090:
060203,000091: # OUTPUT: IN ADDITION TO THE ABOVE REGISTER LOADS, ALL UPDATES
060204,000092: # COMPLEMENT BIT3 OF FLAGWORD7.
060205,000093:
060206,000094:
060207,000095: # ADDITIONAL NOTES: VERB 71, JUST DEFINED ABOVE WILL BE USED TO PERFORM BUT NOT LIMITED TO THE FOLLOWING UPDATES--
060208,000096:
060209,000097: # 1. CSM/LM STATE VECTOR UPDATE
060210,000098: # 2. REFSMMAT UPDATE
060211,000099:
060212,000100:
060213,000101: # THE FOLLOWING COMMENTS DELINEATE EACH SPECIAL UPDATE----
060214,000102:
060215,000103: # 1. CSM/LM STATE VECTOR UPDATE(ALL DATA ENTRIES IN OCTAL)
060216,000104:
060217,000105: # ENTRIES: DATA DEFINITION: SCALE FACTORS:
060218,000106: # V71E CONTIGUOUS BLOCK UPDATE VERB
060219,000107: # 21E NUMBER OF COMPONENTS FOR STATE VECTOR UPDATE
060220,000108: # AAAAE ECADR OF 'UPSVFLAG'
060221,000109: # XXXXXE STATE VECTOR IDENTIFIER: 00001 FOR CSM, 77776 FOR LEM - EARTH SPHERE OF INFLUENCE SCALING
060222,000110: # 00002 FOR CSM, 77775 FOR LEM - LUNAR SPHERE OF INFLUENCE SCALING
060223,000111: # XXXXXEXXXXXE X POSITION
060224,000112: # XXXXXEXXXXXE Y POSITION
060225,000113: # XXXXXEXXXXXE Z POSITION
060226,000114: # XXXXXEXXXXXE X VELOCITY
060227,000115: # XXXXXEXXXXXE Y VELOCITY
060228,000116: # XXXXXEXXXXXE Z VELOCITY
060229,000117: # XXXXXEXXXXXE TIME FROM AGC CLOCK ZERO
060230,000118: # V33E VERB 33 TO SIGNAL THAT THE STATE VECTOR IS READY TO BE STORED.
060231,000119:
060232,000120:
060233,000121: # 2. REFSMMAT(ALL DATA ENTRIES IN OCTAL)
060234,000122: # ENTRIES: DATA DEFINITIONS: SCALE FACTORS:
![]() |
Page 1376 |
060236,000124: # V71E CONTIGUOUS BLOCK UPDATE VERB
060237,000125: # 24E NUMBER OF COMPONENTS FOR REFSMMAT UPDATE
060238,000126: # AAAAE ECADR OF 'REFSMMAT'
060239,000127: # XXXXXEXXXXXE ROW 1 COLUMN 1 2(-1)
060240,000128: # XXXXXEXXXXXE ROW 1 COLUMN 2 2(-1)
060241,000129: # XXXXXEXXXXXE ROW 1 COLUMN 3 2(-1)
060242,000130: # XXXXXEXXXXXE ROW 2 COLUMN 1 2(-1)
060243,000131: # XXXXXEXXXXXE ROW 2 COLUMN 2 2(-1)
060244,000132: # XXXXXEXXXXXE ROW 2 COLUMN 3 2(-1)
060245,000133: # XXXXXEXXXXXE ROW 3 COLUMN 1 2(-1)
060246,000134: # XXXXXEXXXXXE ROW 3 COLUMN 2 2(-1)
060247,000135: # XXXXXEXXXXXE ROW 3 COLUMN 3 2(-1)
060248,000136: # V33E VERB 33 TO SIGNAL THAT REFSMMAT IS READY TO BE STORED.
060249,000137:
060250,000138: 07,3771 BANK 07
060251,000139: 43,2000 SETLOC EXTVERBS
060252,000140: 43,2000 BANK
060253,000141:
060254,000142: 43,3723 E3,1706 EBANK= TEPHEM
060255,000143:
060256,000144: 43,3723 COUNT* $$/P27
060257,000145: 43,3723 34755 V70UPDAT CAF UP70 # COMES HERE ON V70E
060258,000146: 43,3724 13732 TCF V73UPDAT +1
060259,000147:
060260,000148:
060261,000149: 43,3725 34753 V71UPDAT CAF UP71 # COMES HERE ON V71E
060262,000150: 43,3726 13732 TCF V73UPDAT +1
060263,000151:
060264,000152:
060265,000153: 43,3727 34752 V72UPDAT CAF UP72 # COMES HERE ON V72E
060266,000154: 43,3730 13732 TCF V73UPDAT +1
060267,000155:
060268,000156:
060269,000157: 43,3731 36257 V73UPDAT CAF UP73 # COMES HERE ON V73E
060270,000158:
060271,000159: 43,3732 55165 +1 TS UPVERBSV # SAVE UPVERB UNTIL IT'S OK TO ENTER P27
060272,000160:
060273,000161: 43,3733 02076 TC TESTXACT # GRAB DISPLAY IF AVAILABLE, OTHERWISE
060274,000162: # TURN*OPERATOR ERROR* ON AND TERMINATEJOB
060275,000163:
060276,000164: 43,3734 04635 TC POSTJUMP # LEAVE EXTENDED VERB BANK AND
060277,000165: 43,3735 11374 CADR UPPART2 # GO TO UPDATE PROGRAM(P27) BANK.
060278,000166:
060279,000167:
060280,000168: 43,3736 4755 UP70 EQUALS ZERO
060281,000169: 43,3736 4753 UP71 EQUALS ONE
060282,000170: 43,3736 4752 UP72 EQUALS TWO
060283,000171: 43,3736 6257 UP73 EQUALS THREE
060284,000172:
![]() |
Page 1377 |
060286,000174: 04,3374 BANK 04
060287,000175: 04,2000 SETLOC UPDATE2
060288,000176: 04,2000 BANK
060289,000177:
060290,000178: 04,3374 COUNT* $$/P27
060291,000179:
060292,000180: 04,3374 UPPART2 EQUALS # UPDATE PROGRAM - PART 2
060293,000181:
060294,000182: 04,3374 31010 CA MODREG # IS UPDATE ALLOWED AT THIS TIME?
060295,000183: 04,3375 00006 EXTEND # IS MODREG +0 (POOH) OR -0 (FRESH START)?
060296,000184: 04,3376 13400 BZF UPDATOK
060297,000185:
060298,000186: 04,3377 03766 UPERROR TC UPERROUT +2 # TURN ON OPERATOR ERROR LIGHT AND EXIT
060299,000187:
060300,000188: 04,3400 55170 UPDATOK TS UPOLDMOD
060301,000189:
060302,000190: 04,3401 31165 CAE UPVERBSV # SET UPVERB TO TELL P27 WHICH EXTENDED
060303,000191: 04,3402 55171 TS UPVERB # VERB CALLED IT
060304,000192:
060305,000193: 04,3403 34753 CAF ONE
060306,000194: 04,3404 55172 TS UPCOUNT
060307,000195:
060308,000196: 04,3405 05364 TC PHASCHNG # SET RESTART GROUP 6 TO RESTORE OLD MODE
060309,000197: 04,3406 07026 OCT 07026 # AND DOWNLIST AND EXIT IF RESTART OCCURS.
060310,000198: 04,3407 30000 OCT 30000 # PRIORITY SAME AS CHRPRIO
060311,000199: 04,3410 1173 EBANK= UPBUFF
060312,000200: 04,3410 03716 10102 2CADR UPOUT +1
060313,000201:
060314,000202:
060315,000203: 04,3412 34753 CAF ONE
060316,000204: 04,3413 54333 TS DNLSTCOD # DOWNLIST
060317,000205:
060318,000206: 04,3414 05322 TC NEWMODEX # SET MAJOR MODE = 27
060319,000207: 04,3415 00033 DEC 27 B-14
060320,000208:
060321,000209: 04,3416 51171 INDEX UPVERB # BRANCH DEPENDING ON WHETHER THE UPDATE
060322,000210: 04,3417 13420 TCF +1 # VERB REQUIRES A FIXED OR VARIABLE NUMBER
060323,000211: 04,3420 13423 TCF +3 # V70 FIXED. (OF COMPONENTS.
060324,000212: 04,3421 13426 TCF OHWELL1 # V71 VARIABLE - GO GET NO. OF COMPONENTS
060325,000213: 04,3422 13426 TCF OHWELL1 # V72 VARIABLE - GO GET NO. OF COMPONENTS
060326,000214: 04,3423 34752 CA TWO # V73 (AND V70) FIXED
060327,000215: 04,3424 55167 TS COMPNUMB # SET NUMBER OF COMPONENTS TO 2.
060328,000216: 04,3425 13451 TCF OHWELL2 # GO GET THE TWO UPDATE COMPONENTS
060329,000217:
060330,000218: 04,3426 33521 OHWELL1 CAF ADUPBUFF # * REQUEST USER TO SEND NUMBER *
060331,000219: 04,3427 54156 TS MPAC +2 # * OF COMPONENTS PARAMETER(II). *
060332,000220: 04,3430 33522 +2 CAF UPLOADNV # (CK4V32 RETURNS HERE IF V32 ENCOUNTERED)
060333,000221: 04,3431 04616 TC BANKCALL # DISPLAY A FLASHING V21N01
060334,000222: 04,3432 20334 CADR GOXDSPF # TO REQUEST II.
060335,000223: 04,3433 13716 TCF UPOUT4 # V34 TERMINATE UPDATE (P27) RETURN
![]() |
Page 1378 |
060337,000225: 04,3434 13430 TCF OHWELL1 +2
060338,000226: 04,3435 03512 TC CK4V32 # DATA OR V32 RETURN
060339,000227: 04,3436 44752 CS BIT2
060340,000228: 04,3437 61173 AD UPBUFF # IS II(NUMBER OF COMPONENTS PARAMETER)
060341,000229: 04,3440 00006 EXTEND # .GE. 3 AND .LE. 20D.
060342,000230: 04,3441 63430 BZMF OHWELL1 +2
060343,000231: 04,3442 41173 CS UPBUFF
060344,000232: 04,3443 64362 AD UP21
060345,000233: 04,3444 00006 EXTEND
060346,000234: 04,3445 63430 BZMF OHWELL1 +2
060347,000235: 04,3446 31173 CAE UPBUFF
060348,000236: 04,3447 55167 TS COMPNUMB # SAVE II IN COMPNUMB
060349,000237:
060350,000238:
060351,000239: # UPBUFF LOADING SEQUENCE
060352,000240:
060353,000241: 04,3450 25172 INCR UPCOUNT # INCREMENT COUNT OF COMPONENTS RECEIVED.
060354,000242: 04,3451 33666 OHWELL2 CAF ADUPBFM1 # CALCULATE LOCATION(ECADR) IN UPBUFF
060355,000243: 04,3452 61172 AD UPCOUNT # WHERE NEXT COMPONENT SHOULD BE STORED.
060356,000244: 04,3453 54156 +2 TS MPAC +2 # PLACE ECADR INTO R3.
060357,000245: 04,3454 33522 +3 CAF UPLOADNV # (CK4V32 RETURNS HERE IF V32 ENCOUNTERED)
060358,000246: 04,3455 04616 TC BANKCALL # DISPLAY A FLASHING V21N01
060359,000247: 04,3456 20334 CADR GOXDSPF # TO REQUEST DATA.
060360,000248: 04,3457 13716 TCF UPOUT4 # V34 TERMINATE UPDATE(P27) RETURN.
060361,000249: 04,3460 13454 TCF OHWELL2 +3 # V33 PROCEED RETURN
060362,000250: 04,3461 03512 TC CK4V32 # DATA OR V32 RETURN
060363,000251: 04,3462 41172 CS UPCOUNT # HAVE WE FINISHED RECEIVING ALL
060364,000252: 04,3463 61167 AD COMPNUMB # THE DATA WE EXPECTED.
060365,000253: 04,3464 00006 EXTEND
060366,000254: 04,3465 63467 BZMF UPVERIFY # YES- GO TO VERIFICATION SEQUENCE
060367,000255: 04,3466 13450 TCF OHWELL2 -1 # NO- REQUEST ADDITIONAL DATA.
060368,000256:
060369,000257:
060370,000258: # VERIFY SEQUENCE
060371,000259:
060372,000260: 04,3467 33520 UPVERIFY CAF ADUPTEMP # PLACE ECADR WHERE COMPONENT NO. INDEX
060373,000261: 04,3470 54156 TS MPAC +2 # IS TO BE STORED INTO R3.
060374,000262: 04,3471 33523 CAF UPVRFYNV # (CK4V32 RETURNS HERE IF V32 ENCOUNTERED)
060375,000263: 04,3472 04616 TC BANKCALL # DISPLAY A FLASHING V21N02 TO REQUEST
060376,000264: 04,3473 20334 CADR GOXDSPF # DATA CORRECTION OR VERIFICATION.
060377,000265: 04,3474 13716 TCF UPOUT4 # V34 TERMINATE UPDATE(P27) RETURN
060378,000266: 04,3475 13524 TCF UPSTORE # V33 DATA SENT IS GOOD. GO STORE IT.
060379,000267: 04,3476 03512 TC CK4V32 # COMPONENT NO. INDEX OR V32 RETURN
060380,000268: 04,3477 31166 CA UPTEMP # DOES THE COMPONENT NO. INDEX JUST SENT
060381,000269: 04,3500 00006 EXTEND # SPECIFY A LEGAL COMPONENT NUMBER?
060382,000270: 04,3501 63467 BZMF UPVERIFY # NO, IT IS NOT POSITIVE NONZERO
060383,000271: 04,3502 41166 CS UPTEMP
060384,000272: 04,3503 61167 AD COMPNUMB
060385,000273: 04,3504 64753 AD BIT1
060386,000274: 04,3505 00006 EXTEND
![]() |
Page 1379 |
060388,000276: 04,3506 63467 BZMF UPVERIFY # NO
060389,000277: 04,3507 33666 CAF ADUPBFM1 # YES- BASED ON THE COMPONENT NO. INDEX
060390,000278: 04,3510 61166 AD UPTEMP # CALCULATE THE ECADR OF LOCATION IN
060391,000279: 04,3511 13453 TCF OHWELL2 +2 # UPBUFF WHICH USER WANTS TO CHANGE.
060392,000280:
060393,000281: 04,3512 04,3716 UPOUT4 EQUALS UPOUT +1 # COMES HERE ON V34 TO TERMINATE UPDATE
060394,000282:
060395,000283:
060396,000284: # CHECK FOR VERB 32 SEQUENCE
060397,000285:
060398,000286: 04,3512 40154 CK4V32 CS MPAC # ON DATA RETURN FROM 'GOXDSPF'
060399,000287: 04,3513 74746 MASK BIT6 # ON DATA RETURN FROM "GOXDSP"& THE CON-
060400,000288: 04,3514 10000 CCS A # TENTS OF MPAC = VERB. SO TEST FOR V32.
060401,000289: 04,3515 00002 TC Q # IT'S NOT A V32, IT'S DATA. PROCEED.
060402,000290: 04,3516 50002 INDEX Q
060403,000291: 04,3517 77771 TC 0 -6 # V32 ENCOUNTERED - GO BACK AND GET DATA
060404,000292:
060405,000293: 04,3520 01166 ADUPTEMP ADRES UPTEMP # ADDRESS OF TEMP STORAGE FOR CORRECTIONS
060406,000294: 04,3521 01173 ADUPBUFF ADRES UPBUFF # ADDRESS OF UPDATE DATA STORAGE BUFFER
060407,000295: 04,3522 05201 UPLOADNV VN 2101 # VERB 21 NOUN 01
060408,000296: 04,3523 05202 UPVRFYNV VN 2102 # VERB 21 NOUN 02
060409,000297: 04,3524 4362 UP21 = MD1 # DEC 21 = MAX NO OF COMPONENTS +1
060410,000298: 04,3524 4756 UPDTPHAS EQUALS FIVE
060411,000299:
060412,000300: # PRE-STORE AND FAN TO APPROPRIATE BRANCH SEQUENCE
060413,000301:
060414,000302: 04,3524 UPSTORE EQUALS # GROUND HAS VERIFIED UPDATE. STORE DATA.
060415,000303:
060416,000304: 04,3524 00004 INHINT
060417,000305:
060418,000306: 04,3525 30103 CAE FLAGWRD7 # INVERT VERIFLAG(BIT3 OF FLAGWRD7) TO
060419,000307: 04,3526 56001 XCH L # INDICATE TO THE GROUND(VIA DOWNLINK)
060420,000308: 04,3527 34751 CAF VERIFBIT # THAT THE V33 (WHICH THE GROUND SENT TO
060421,000309: 04,3530 00006 EXTEND # VERIFY THE UPDATE) HAS BEEN SUCCESSFULLY
060422,000310: 04,3531 06001 RXOR LCHAN # RECEIVED BY THE UPDATE PROGRAM
060423,000311: 04,3532 54103 TS FLAGWRD7
060424,000312:
060425,000313: 04,3533 05364 TC PHASCHNG # SET RESTART GROUP 6 TO REDO THE UPDATE
060426,000314: 04,3534 04026 OCT 04026 # DATA STORE IF A RESTART OCCURS.
060427,000315: 04,3535 00004 INHINT # (BECAUSE PHASCHNG DID A RELINT)
060428,000316:
060429,000317: 04,3536 44752 CS TWO # GO TO UPFNDVAC IF INSTALL IS REQUIRED,
060430,000318: 04,3537 61171 AD UPVERB # THAT IS, IF IT'S A V70 - V72.
060431,000319: 04,3540 00006 EXTEND # GO TO UPEND73 IF IT'S A V73.
060432,000320: 04,3541 63550 BZMF UPFNDVAC
060433,000321:
060434,000322: # VERB 73 BRANCH
060435,000323:
060436,000324: 04,3542 00006 UPEND73 EXTEND # V73-PERFORM DP OCTAL AGC CLOCK INCREMENT
060437,000325: 04,3543 31174 DCA UPBUFF
![]() |
Page 1380 |
060439,000327: 04,3544 53204 DXCH UPBUFF +8D
060440,000328: 04,3545 03573 TC TIMEDIDL
060441,000329: 04,3546 04364 TC FALTON # ERROR- TURN ON *OPERATOR ERROR* LIGHT
060442,000330: 04,3547 03716 TC UPOUT +1 # GO TO COMMON UPDATE PROGRAM EXIT
060443,000331:
060444,000332: 04,3550 34355 UPFNDVAC CAF CHRPRIO # (USE EXTENDED VERB PRIORITY)
060445,000333: 04,3551 05105 TC FINDVAC # GET VAC AREA FOR 'CALL INTSTALL'
060446,000334: 04,3552 E3,1706 EBANK= TEPHEM
060447,000335: 04,3552 03555 10103 2CADR UPJOB # (NOTE: THIS WILL ALSO SET EBANK FOR
060448,000336:
060449,000337: 04,3554 05155 TC ENDOFJOB # 'TEPHEM' UPDATE BY V70)
060450,000338:
060451,000339: 04,3555 06051 UPJOB TC INTPRET # THIS COULD BE A STATE VECTOR UPDATE--SO
060452,000340: 04,3556 77624 CALL # WAIT(PUT JOB TO SLEEP) IF ORBIT INT(OI)
060453,000341: 04,3557 27410 INTSTALL # IS IN PROGRESS--OR--GRAB OI AND RETURN
060454,000342: # TO UPWAKE IF OI IS NOT IN PROGRESS.
060455,000343:
060456,000344: 04,3560 77776 UPWAKE EXIT
060457,000345:
060458,000346: 04,3561 05364 TC PHASCHNG # RESTART PROTECT(GROUP 6)
060459,000347: 04,3562 04026 OCT 04026
060460,000348:
060461,000349: 04,3563 05515 TC UPFLAG # SET INTEGRATION RESTART BIT
060462,000350: 04,3564 00236 ADRES REINTFLG
060463,000351: 04,3565 00004 INHINT
060464,000352: 04,3566 UPPART3 EQUALS
060465,000353:
060466,000354: 04,3566 51171 INDEX UPVERB # BRANCH TO THE APPROPRIATE UPDATE VERB
060467,000355: 04,3567 13570 TCF +1 # ROUTINE TO ACTUALLY PERFORM THE UPDATE
060468,000356: 04,3570 13727 TCF UPEND70 # V70
060469,000357: 04,3571 13636 TCF UPEND71 # V71
060470,000358: 04,3572 13670 TCF UPEND72 # V72
060471,000359:
060472,000360:
060473,000361: # ROUTINE TO INCREMENT CLOCK(TIME2,TIME1) WITH CONTENTS OF DP WORD AT UPBUFF.
060474,000362:
060475,000363: 04,3573 00006 TIMEDIDL EXTEND
060476,000364: 04,3574 23166 QXCH UPTEMP # SAVE Q FOR RETURN
060477,000365: 04,3575 34755 CAF ZERO # ZERO AND SAVE TIME2,TIME1
060478,000366: 04,3576 22007 ZL
060479,000367: 04,3577 52025 DXCH TIME2
060480,000368: 04,3600 53216 DXCH UPBUFF +18D # STORE IN CASE OF OVERFLOW
060481,000369:
060482,000370: 04,3601 34756 CAF UPDTPHAS # DO
060483,000371: 04,3602 54001 TS L # A
060484,000372: 04,3603 40000 COM # QUICK
060485,000373: 04,3604 52764 DXCH -PHASE6 # PHASCHNG
060486,000374:
060487,000375: 04,3605 00004 TIMEDIDR INHINT
![]() |
Page 1381 |
060489,000377: 04,3606 34755 CAF ZERO
060490,000378: 04,3607 22007 ZL # PICK UP INCREMENTER(AND ZERO
060491,000379: 04,3610 54156 TS MPAC +2 # IT IN CASE OF RESTARTS) AND
060492,000380: 04,3611 53204 DXCH UPBUFF +8D # STORE IT
060493,000381: 04,3612 52155 DXCH MPAC # INTO MPAC FOR TPAGREE.
060494,000382:
060495,000383: 04,3613 00006 EXTEND
060496,000384: 04,3614 31216 DCA UPBUFF +18D
060497,000385: 04,3615 20155 DAS MPAC # FORM SUM IN MPAC
060498,000386: 04,3616 00006 EXTEND
060499,000387: 04,3617 13626 BZF DELTAOK # TEST FOR OVERFLOW
060500,000388: 04,3620 34755 CAF ZERO
060501,000389: 04,3621 53216 DXCH UPBUFF +18D # OVERFLOW, RESTORE OLD VALUE OF CLOCK
060502,000390: 04,3622 20025 DAS TIME2 # AND TURN ON OPERATOR ERROR
060503,000391:
060504,000392: 04,3623 05364 TC PHASCHNG # RESTART PROTECT(GROUP 6)
060505,000393: 04,3624 04026 OCT 04026
060506,000394:
060507,000395: 04,3625 01166 TC UPTEMP # GO TO ERROR EXIT
060508,000396:
060509,000397: 04,3626 07271 DELTAOK TC TPAGREE # FORCE SIGN AGREEMENT
060510,000398: 04,3627 52155 DXCH MPAC
060511,000399: 04,3630 20025 DAS TIME2 # INCREMENT TIME2,TIME1
060512,000400:
060513,000401: 04,3631 05364 TC PHASCHNG # RESTART PROTECT(GROUP 6)
060514,000402: 04,3632 04026 OCT 04026
060515,000403:
060516,000404: 04,3633 00004 INHINT
060517,000405: 04,3634 51166 INDEX UPTEMP # (CODED THIS WAY FOR RESTART PROTECTION)
060518,000406: 04,3635 00001 TC 1 # NORMAL RETURN
060519,000407: # VERB 71 BRANCH
060520,000408:
060521,000409: 04,3636 31174 UPEND71 CAE UPBUFF +1 # SET EBANK
060522,000410: 04,3637 54003 TS EBANK # AND
060523,000411: 04,3640 74357 MASK LOW8 # CALCULATE
060524,000412: 04,3641 55166 TS UPTEMP # S-REG VALUE OF RECEIVING AREA
060525,000413:
060526,000414: 04,3642 67757 AD NEG3 # IN THE PROCESS OF
060527,000415: 04,3643 61167 AD COMPNUMB # PERFORMING
060528,000416: 04,3644 00006 EXTEND # THIS UPDATE
060529,000417: 04,3645 13653 BZF STORLP71 # WILL WE
060530,000418: 04,3646 74743 MASK BIT9 # OVERFLOW
060531,000419: 04,3647 10000 CCS A # INTO THE NEXT EBANK....
060532,000420: 04,3650 13764 TCF UPERROUT # YES
060533,000421:
060534,000422: 04,3651 37757 CA NEG3 # NO- CALCULATE NUMBER OF
060535,000423: 04,3652 61167 AD COMPNUMB # WORDS TO BE STORED MINUS ONE
060536,000424: 04,3653 54154 STORLP71 TS MPAC # SAVE NO. OF WORDS REMAINING MINUS ONE
060537,000425: 04,3654 50000 INDEX A # TAKE NEXT UPDATE WORD FROM
060538,000426: 04,3655 31175 CA UPBUFF +2 # UPBUFF AND
![]() |
Page 1382 |
060540,000428: 04,3656 54001 TS L # SAVE IT IN L
060541,000429: 04,3657 30154 CA MPAC # CALCULATE NEXT
060542,000430: 04,3660 61166 AD UPTEMP # RECEIVING ADDRESS
060543,000431: 04,3661 50000 INDEX A
060544,000432: 04,3662 E3,1400 EBANK= 1400
060545,000433: 04,3662 23400 LXCH 1400 # UPDATE THE REGISTER BY CONTENTS OF L
060546,000434: 04,3663 E3,1706 EBANK= TEPHEM
060547,000435: 04,3663 10154 CCS MPAC # ARE THERE ANY WORDS LEFT TO BE STORED
060548,000436: 04,3664 13653 TCF STORLP71 # YES
060549,000437: 04,3665 13715 TCF UPOUT # NO- THEN EXIT UPDATE PROGRAM
060550,000438: 04,3666 01172 ADUPBFM1 ADRES UPBUFF -1 # SAME AS ADUPBUFF BUT LESS 1 (DON'T MOVE)
060551,000439: 04,3667 13715 TCF UPOUT # NO- EXIT UPDATE(HERE WHEN COMPNUMB = 3)
060552,000440:
060553,000441:
060554,000442: # VERB 72 BRANCH
060555,000443:
060556,000444: 04,3670 34753 UPEND72 CAF BIT1 # HAVE AN ODD NO. OF COMPONENTS
060557,000445: 04,3671 71167 MASK COMPNUMB # BEEN SENT FOR A V72 UPDATE...
060558,000446: 04,3672 10000 CCS A
060559,000447: 04,3673 13675 TCF +2 # YES
060560,000448: 04,3674 13764 TCF UPERROUT # ERROR- SHOULD BE ODD NO. OF COMPONENTS
060561,000449: 04,3675 44752 CS BIT2
060562,000450: 04,3676 61167 AD COMPNUMB
060563,000451: 04,3677 54154 LDLOOP72 TS MPAC # NOW PERFORM THE UPDATE
060564,000452: 04,3700 50000 INDEX A
060565,000453: 04,3701 31174 CAE UPBUFF +1 # PICK UP NEXT UPDATE WORD
060566,000454: 04,3702 22000 LXCH A
060567,000455: 04,3703 10154 CCS MPAC # SET POINTER TO ECADR(MUST BE CCS)
060568,000456: 04,3704 54154 TS MPAC
060569,000457: 04,3705 50000 INDEX A
060570,000458: 04,3706 31174 CAE UPBUFF +1 # PICK UP NEXT ECADR OF REG TO BE UPDATED
060571,000459: 04,3707 54003 TS EBANK # SET EBANK
060572,000460: 04,3710 74357 MASK LOW8 # ISOLATE RELATIVE ADDRESS
060573,000461: 04,3711 50000 INDEX A
060574,000462: 04,3712 E3,1400 EBANK= 1400
060575,000463: 04,3712 23400 LXCH 1400 # UPDATE THE REGISTER BY CONTENTS OF L
060576,000464: 04,3713 E3,1706 EBANK= TEPHEM
060577,000465: 04,3713 10154 CCS MPAC # ARE WE THROUGH THE V72 UPDATE...
060578,000466: 04,3714 13677 TCF LDLOOP72 # NO
060579,000467:
060580,000468:
060581,000469: # NORMAL FINISH OF P27
060582,000470:
060583,000471: 04,3715 UPOUT EQUALS
060584,000472: 04,3715 03137 TC INTWAKEU # RELEASE GRAB OF ORBITAL INTEGRATION
060585,000473: 04,3716 31170 +1 CAE UPOLDMOD # RESTORE PRIOR P27 MODE
060586,000474: 04,3717 05325 TC NEWMODEX +3
060587,000475: 04,3720 34755 CAF ZERO
060588,000476: 04,3721 54333 TS DNLSTCOD
060589,000477: 04,3722 03771 TC UPACTOFF # TURN OFF 'UPLINK ACTIVITY' LIGHT
![]() |
Page 1383 |
060591,000479: 04,3723 00006 EXTEND # KILL GROUP 6.
060592,000480: 04,3724 34755 DCA NEG0
060593,000481: 04,3725 52764 DXCH -PHASE6
060594,000482:
060595,000483: 04,3726 05503 TC ENDEXT # EXTENDED VERB EXIT
060596,000484:
060597,000485:
060598,000486: # VERB 70 BRANCH
060599,000487:
060600,000488: 04,3727 00006 UPEND70 EXTEND # V70 DOES THE FOLLOWING WITH DP DELTA
060601,000489: 04,3730 41174 DCS UPBUFF # TIME IN UPBUFF
060602,000490: 04,3731 53204 DXCH UPBUFF +8D
060603,000491: 04,3732 03573 TC TIMEDIDL # DECREMENT AGC CLOCK
060604,000492:
060605,000493: 04,3733 03764 TC UPERROUT # ERROR WHILE DECREMENTING CLOCK -- EXIT
060606,000494:
060607,000495: 04,3734 E3,1706 EBANK= TEPHEM
060608,000496: 04,3734 00006 EXTEND
060609,000497: 04,3735 41174 DCS UPBUFF # COPY DECREMENTERS FOR
060610,000498: 04,3736 53206 DXCH UPBUFF +10D # RESTART PROTECTION
060611,000499: 04,3737 00006 EXTEND
060612,000500: 04,3740 41174 DCS UPBUFF
060613,000501: 04,3741 53210 DXCH UPBUFF +12D
060614,000502:
060615,000503: 04,3742 05364 TC PHASCHNG # RESTART PROTECT(GROUP 6)
060616,000504: 04,3743 04026 OCT 04026
060617,000505:
060618,000506: 04,3744 34755 CAF ZERO
060619,000507: 04,3745 22007 ZL
060620,000508: 04,3746 53206 DXCH UPBUFF +10D # DECREMENT CSM STATE VECTOR TIME
060621,000509: 04,3747 21571 DAS TETCSM
060622,000510:
060623,000511: 04,3750 34755 CAF ZERO
060624,000512: 04,3751 22007 ZL
060625,000513: 04,3752 53210 DXCH UPBUFF +12D # DECREMENT LEM STATE VECTOR TIME
060626,000514: 04,3753 21643 DAS TETLEM
060627,000515:
060628,000516: 04,3754 34755 CAF ZERO
060629,000517: 04,3755 22007 ZL
060630,000518: 04,3756 53174 DXCH UPBUFF
060631,000519: 04,3757 21710 DAS TEPHEM +1 # INCREMENT TP TEPHEM
060632,000520: 04,3760 27706 ADS TEPHEM
060633,000521:
060634,000522: 04,3761 05364 TC PHASCHNG # RESTART PROTECT(GROUP 6)
060635,000523: 04,3762 04026 OCT 04026
060636,000524:
060637,000525: 04,3763 1173 EBANK= UPBUFF
060638,000526:
060639,000527: 04,3763 03715 TC UPOUT # GO TO STANDARD UPDATE PROGRAM EXIT
060640,000528:
![]() |
Page 1384 |
060642,000530: # ERROR SEQUENCE
060643,000531:
060644,000532: 04,3764 04364 UPERROUT TC FALTON # TURN ON *OPERATOR ERROR* LIGHT
060645,000533: 04,3765 13715 TCF UPOUT # GO TO COMMON UPDATE PROGRAM EXIT
060646,000534:
060647,000535: 04,3766 04364 +2 TC FALTON # TURN ON 'OPERATOR ERROR' LIGHT
060648,000536: 04,3767 03771 TC UPACTOFF # TURN OFF'UPLINK ACTIVITY'LIGHT
060649,000537: 04,3770 05503 TC ENDEXT # EXTENDED VERB EXIT
060650,000538: # (THE PURPOSE OF UPERROUT +2 EXIT IS
060651,000539: # TO PROVIDE AN ERROR EXIT WHICH DOES NOT
060652,000540: # RESET ANY RESTART GROUPS)
060653,000541:
060654,000542:
060655,000543:
060656,000544: # :UPACTOFF: IS A ROUTINE TO TURN OFF UPLINK ACTIVITY LIGHT ON ALL EXITS FROM UPDATE PROGRAM(P27).
060657,000545:
060658,000546: 04,3771 44751 UPACTOFF CS BIT3
060659,000547: 04,3772 00006 EXTEND # TURN OFF UPLINK ACTIVITY LIGHT
060660,000548: 04,3773 03011 WAND DSALMOUT # (BIT 3 OF CHANNEL 11)
060661,000549: 04,3774 00002 TC Q
End of include-file UPDATE_PROGRAM.agc. Parent file is MAIN.agc