Proof Luminary099/UPDATE_PROGRAM.agc (pg: 1386-1396) #650 (#937)

* Proof Luminary099/UPDATE_PROGRAM.agc (pg: 1386-1396)

* Fixed missed comment indentation

Co-authored-by: James Harris <3440094+wopian@users.noreply.github.com>

* Reverted comment space change

Co-authored-by: James Harris <3440094+wopian@users.noreply.github.com>

* Changed period back to comma

Co-authored-by: James Harris <3440094+wopian@users.noreply.github.com>

* Added missed corrections

---------

Co-authored-by: Zachary Pedigo <Zach.Pedigo@Oracle.com>
Co-authored-by: James Harris <3440094+wopian@users.noreply.github.com>
This commit is contained in:
Zachary Pedigo 2025-08-07 14:44:19 -05:00 committed by GitHub
parent e4182c51d5
commit 39212458be
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -40,13 +40,13 @@
#
# LOG SECTION: UPDATE PROGRAM.
#
# FUNCT. DESCR.: P27 (THE UPDATE PROGRAM) PROCESSES COMMANDS AND DATA
# FUNCT. DESCR: P27 (THE UPDATE PROGRAM) PROCESSES COMMANDS AND DATA
# INSERTIONS REQUESTED BY THE GROUND VIA UPLINK.
# THE P27 PROGRAM WILL ACCEPT UPDATES
# ONLY DURING P00 FOR THE LM, AND ONLY DURING P00,
# P02, AND FRESH START FOR THE CSM
#
# CALLING SEQ: PROGRAM IS INITIATED BY UPLINK ENTRY OF VERBS 70, 71, 72, AND 73.
# CALLING SEQ: PROGRAM IS INITIATED BY UPLINK ENTRY OF VERBS 70, 71, 72 AND 73.
#
# SUBROUTINES: TESTXACT, NEWMODEX, NEWMODEX +3, GOXDSPF, BANKCALL, FINDVAC, INTPRET, INTSTALL, TPAGREE,
# INTWAKEU, ENDEXT, POSTJUMP, FALTON, NEWPHASE, PHASCHNG
@ -60,7 +60,7 @@
# DATA BY SENDING A V33E WHEN V21N02 IS FLASHING)---
# NO PROTECTION EXCEPT PRE-P27 MODE IS RESTORED, COAST + ALIGN DOWNLIST IS SELECTED AND UPLINK
# ACTIVITY LIGHT IS TURNED OFF.(JUST AS IF A V34E WAS SENT DURING P27 DATA LOADS).
# V70,V71,V72, OR V73 WILL HAVE TO BE COMPLETELY RESENT BY USER.
# V70,V71,V72 OR V73 WILL HAVE TO BE COMPLETELY RESENT BY USER.
# 2. AFTER VERIFLAG INVERSION(WHEN UPDATE OF THE SPECIFIED ERASABLES IS BEING PERFORMED)---
# PROTECTED AGAINST RESTARTS.
#
@ -73,7 +73,8 @@
#
# INPUT:
#
# ENTRY DESCRIPTION
# ENTRY: DESCRIPTION
#
# V70EXXXXXEXXXXXE (LIFTOFF TIME INCREMENT) DOUBLE PRECISION OCTAL TIME INCREMENT, XXXXX XXXXX,
# IS ADDED TO TEPHEM, SUBTRACTED FROM AGC CLOCK(TIME2,TIME1), SUBTRACTED FROM CSM STATE
# VECTOR TIME(TETCSM) AND SUBTRACTED FROM LEM STATE VECTOR TIME(TETLEM).
@ -82,35 +83,40 @@
# V71EIIEAAAAE (CONTIGUOUS BLOCK UPDATE) II-2 OCTAL COMPONENTS,XXXXX,
# XXXXXE ARE LOADED INTO ERASABLE STARTING AT ECADR, AAAA.
# XXXXXE IT IS .GE. 3 .AND. .LE. 200.,
# ... AND (AAAA + II -3) DOES NOT PRODUCE AN ADDRESS IN THE
# NEXT BANK.
# SCALING IS SAME AS INTERNAL REGISTERS.
# AND (AAAA + II - 3) DOES NOT PRODUCE AN ADDRESS IN THE
# 9 NEXT BANK.
# . SCALING IS SAME AS INTERNAL REGISTERS.
#
# V72EIIE (SCATTER UPDATE) (II-1)/2 OCTAL COMPONENTS,XXXXX, ARE
# AAAAEXXXXXE LOADED INTO ERASABLE LOCATIONS, AAAA.
# AAAAEXXXXXE II IS .GE. 3 .AND. .LE. 19D, AND MUST BE ODD.
# ... SCALING IS SAME AS INTERNAL REGISTERS.
# . SCALING IS SAME AS INTERNAL REGISTERS.
#
# V73EXXXXXEXXXXXE (OCTAL CLOCK INCREMENT) DOUBLE PRECISION OCTAL TIME
# INCREMENT XXXXX XXXXX, IS ADDED TO THE AGC CLOCK, IN
# CENTISECONDS SCALED AT (2)28).
# CENTISECONDS SCALED AT (2)28.
# THIS LOAD IS THE OCTAL EQUIVALENT OF V55.
#
# OUTPUT: IN ADDITION TO THE ABOVE REGISTER LOADS, ALL UPDATES
# COMPLEMENT BIT3 OF FLAGWORD7.
#
# ADDITIONAL NOTES: VERB 71, JUST DEFINED ABOVE WILL BE USED TO PERFORM BUT NOT LIMITED TO THE FOLLOWING UPDATES--
#
# 1. CSM/LM STATE VECTOR UPDATE
# 2. REFSMMAT UPDATE
#
# THE FOLLOWING COMMENTS DELINEATE EACH SPECIAL UPDATE ---
#
# THE FOLLOWING COMMENTS DELINEATE EACH SPECIAL UPDATE----
#
# 1. CSM/LM STATE VECTOR UPDATE(ALL DATA ENTRIES IN OCTAL)
#
# ENTRIES: DATA DEFINITION: SCALE FACTORS:
# V71E CONTIGUOUS BLOCK UPDATE VERB
# 21E NUMBER OF COMPONENTS FOR STATE VECTOR UPDATE
# AAAAE ECADR OF `UPSVFLAG'
# XXXXXE STATE VECTOR IDENTIFIER: 00001 FOR CSM, 77776 FOR LEM -- EARTH SPHERE OF INFLUENCE SCALING
# 00002 FOR CSM, 77775 FOR LEM -- LUNAR SPHERE OF INFLUENCE SCALING
# AAAAE ECADR OF 'UPSVFLAG'
# XXXXXE STATE VECTOR IDENTIFIER: 00001 FOR CSM, 77776 FOR LEM - EARTH SPHERE OF INFLUENCE SCALING
# 00002 FOR CSM, 77775 FOR LEM - LUNAR SPHERE OF INFLUENCE SCALING
#
# XXXXXEXXXXXE X POSITION
# XXXXXEXXXXXE Y POSITION
# XXXXXEXXXXXE Z POSITION
@ -120,12 +126,13 @@
# XXXXXEXXXXXE TIME FROM AGC CLOCK ZERO
# V33E VERB 33 TO SIGNAL THAT THE STATE VECTOR IS READY TO BE STORED.
#
#
# 2. REFSMMAT(ALL DATA ENTRIES IN OCTAL)
# ENTRIES: DATA DEFINITITIONS: SCALE FACTORS:
# Page 1388
# V71E CONTIGUOUS BLOCK UPDATE VERB
# 24E NUMBER OF COMPONENTS FOR REFSMMAT UPDATE
# AAAAE ECADR OF `REFSMMAT'
# AAAAE ECADR OF 'REFSMMAT'
# XXXXXEXXXXXE ROW 1 COLUMN 1 2(-1)
# XXXXXEXXXXXE ROW 1 COLUMN 2 2(-1)
# XXXXXEXXXXXE ROW 1 COLUMN 3 2(-1)
@ -135,8 +142,7 @@
# XXXXXEXXXXXE ROW 3 COLUMN 1 2(-1)
# XXXXXEXXXXXE ROW 3 COLUMN 2 2(-1)
# XXXXXEXXXXXE ROW 3 COLUMN 3 2(-1)
# V33E VERB 33 TO SIGNAL THAT REFSMMAT IS READY TO BE STORED
# V33E VERB 33 TO SIGNAL THAT REFSMMAT IS READY TO BE STORED.
BANK 07
@ -149,12 +155,15 @@
V70UPDAT CAF UP70 # COMES HERE ON V70E
TCF V73UPDAT +1
V71UPDAT CAF UP71 # COMES HERE ON V71E
TCF V73UPDAT +1
V72UPDAT CAF UP72 # COMES HERE ON V72E
TCF V73UPDAT +1
V73UPDAT CAF UP73 # COMES HERE ON V73E
+1 TS UPVERBSV # SAVE UPVERB UNTIL IT'S OK TO ENTER P27
@ -173,7 +182,6 @@ CKMDMORE = UPERROR
TS UPOLDMOD # SAVE CURRENT MAJOR MODE
# Page 1389
CAE UPVERBSV # SET UPVERB TO INDICDATE TO P27
TS UPVERB # WHICH EXTENDED VERB CALLED IT.
CAF ONE
@ -182,28 +190,28 @@ CKMDMORE = UPERROR
TC POSTJUMP # LEAVE EXTENDED VERB BANK AND
CADR UPPART2 # GO TO UPDATE PROGRAM(P27) BANK.
UP70 EQUALS ZERO
UP71 EQUALS ONE
UP72 EQUALS TWO
UP73 EQUALS THREE
BANK 04
SETLOC UPDATE2
BANK
COUNT* $$/P27
UPPART2 EQUALS # UPDATE PROGRAM -- PART 2
UPPART2 EQUALS # UPDATE PROGRAM - PART 2
TC PHASCHNG # SET RESTART GROUP 6 TO RESTORE OLD MODE
OCT 07026 # AND DOWNLIST AND EXIT IF RESTART OCCURS.
OCT 30000 # PRIORITY SAME AS CHRPRIO
## [WORKAROUND] RSB 2009
SBANK= PINSUPER
## [WORKAROUND]
EBANK= UPBUFF
2CADR UPOUT +1
CAF ONE
TS DNLSTCOD # DOWNLIST
@ -212,20 +220,19 @@ UPPART2 EQUALS # UPDATE PROGRAM -- PART 2
INDEX UPVERB # BRANCH DEPENDING ON WHETHER THE UPDATE
TCF +1 # VERB REQUIRES A FIXED OR VARIABLE NUMBER
TCF +3 # V70 FIXED (OF COMPONENTS)
TCF OHWELL1 # V71 VARIABLE -- GO GET NO. OF COMPONENTS
TCF OHWELL1 # V72 VARIABLE -- GO GET NO. OF COMPONENTS
TCF +3 # V70 FIXED. (OF COMPONENTS.
TCF OHWELL1 # V71 VARIABLE - GO GET NO. OF COMPONENTS
TCF OHWELL1 # V72 VARIABLE - GO GET NO. OF COMPONENTS
CA TWO # V73 (AND V70) FIXED
TS COMPNUMB # SET NUMBER OF COMPONENTS TO 2.
TCF OHWELL2 # GO GET THE TWO UPDATE COMPONENTS
OHWELL1 CAF ADUPBUFF # * REQUEST USER TO SEND NUMBER *
TS MPAC +2 # * OF COMPONENTS PARAMETER(II).*
+2 CAF UPLOADNV # (CKV432 RETURNS HERE IF V32 ENCOUNTERED)
+2 CAF UPLOADNV # (CK4V32 RETURNS HERE IF V32 ENCOUNTERED)
TC BANKCALL # DISPLAY A FLASHING V21N01
# Page 1390
CADR GOXDSPF # TO REQUEST II.
TCF UPOUT4 # V34 TERMINATE UPDATE(P27) RETURN
TCF OHWELL1 +2
TC CK4V32 # DATA OR V32 RETURN
@ -244,7 +251,7 @@ OHWELL1 CAF ADUPBUFF # * REQUEST USER TO SEND NUMBER *
INCR UPCOUNT # INCREMENT COUNT OF COMPONENTS RECEIVED.
OHWELL2 CAF ADUPBFM1 # CALCULATE LOCATION(ECADR) IN UPBUFF
AD UPCOUNT # WHERE NEXT COMPONENT SHOULD BE STORED
AD UPCOUNT # WHERE NEXT COMPONENT SHOULD BE STORED.
+2 TS MPAC +2 # PLACE ECADR INTO R3.
+3 CAF UPLOADNV # (CK4V32 RETURNS HERE IF V32 ENCOUNTERED)
TC BANKCALL # DISPLAY A FLASHING V21N01
@ -255,8 +262,8 @@ OHWELL2 CAF ADUPBFM1 # CALCULATE LOCATION (ECADR) IN UPBUFF
CS UPCOUNT # HAVE WE FINISHED RECEIVING ALL
AD COMPNUMB # THE DATA WE EXPECTED.
EXTEND
BZMF UPVERIFY # YES -- GO TO VERIFICATION SEQUENCE
TCF OHWELL2 -1 # NO -- REQUEST ADDITIONAL DATA.
BZMF UPVERIFY # YES- GO TO VERIFICATION SEQUENCE
TCF OHWELL2 -1 # NO- REQUEST ADDITIONAL DATA.
# VERIFY SEQUENCE
@ -277,7 +284,7 @@ UPVERIFY CAF ADUPTEMP # PLACE ECADR WHERE COMPONENT NO. INDEX
AD BIT1
EXTEND
BZMF UPVERIFY # NO
CAF ADUPBFM1 # YES -- BASED ON THE COMPONENT NO. INDEX
CAF ADUPBFM1 # YES- BASED ON THE COMPONENT NO. INDEX
AD UPTEMP # CALCULATE THE ECADR OF LOCATION IN
TCF OHWELL2 +2 # UPBUFF WHICH USER WANTS TO CHANGE.
@ -285,12 +292,12 @@ UPOUT4 EQUALS UPOUT +1 # COMES HERE ON V34 TO TERMINATE UPDATE
# CHECK FOR VERB 32 SEQUENCE
CK4V32 CS MPAC # ON DATA RETURN FROM `GOXDSPF'
CK4V32 CS MPAC # ON DATA RETURN FROM 'GOXDSPF'
MASK BIT6 # ON DATA RETURN FROM "GOXDSP"& THE CON-
CCS A # TENTS OF MPAC = VERB. SO TEST FOR V32.
TC Q # IT'S NOT A V32, IT'S DATA. PROCEED.
INDEX Q
TC 0 -6 # V32 ENCOUNTERED -- GO BACK AND GET DATA
TC 0 -6 # V32 ENCOUNTERED - GO BACK AND GET DATA
ADUPTEMP ADRES UPTEMP # ADDRESS OF TEMP STORAGE FOR CORRECTIONS
ADUPBUFF ADRES UPBUFF # ADDRESS OF UPDATE DATA STORAGE BUFFER
@ -323,18 +330,19 @@ UPSTORE EQUALS # GROUND HAS VERIFIED UPDATE. STORE DATA.
# VERB 73 BRANCH
# Page 1392
UPEND73 EXTEND # V73 -- PERFORM DP OCTAL AGC CLOCK INCREMENT
UPEND73 EXTEND # V73-PERFORM DP OCTAL AGC CLOCK INCREMENT
DCA UPBUFF
DXCH UPBUFF +8D
TC TIMEDIDL
TC FALTON # ERROR -- TURN ON *OPERATOR ERROR* LIGHT
TC FALTON # ERROR- TURN ON *OPERATOR ERROR* LIGHT
TC UPOUT +1 # GO TO COMMON UPDATE PROGRAM EXIT
UPFNDVAC CAF CHRPRIO # (USE EXTENDED VERB PRIORITY)
TC FINDVAC # GET VAC AREA FOR 'CALL INTSTALL'
EBANK= TEPHEM
2CADR UPJOB # (NOTE: THIS WILL ALSO SET EBANK FOR
TC ENDOFJOB # 'TEPHEM' UPDATE BY V70)
UPJOB TC INTPRET # THIS COULD BE A STATE VECTOR UPDATE--SO
@ -367,7 +375,7 @@ TIMEDIDL EXTEND
DXCH TIME2
DXCH UPBUFF +18D # STORE IN CASE OF OVERFLOW
CAF UPDTPHAS # SO
CAF UPDTPHAS # DO
TS L # A
COM # QUICK
DXCH -PHASE6 # PHASCHNG
@ -375,7 +383,7 @@ TIMEDIDL EXTEND
TIMEDIDR INHINT
CAF ZERO
ZL # PICK UP INCRMENTER (AND ZERO
ZL # PICK UP INCREMENTER(AND ZERO
TS MPAC +2 # IT IN CASE OF RESTARTS) AND
DXCH UPBUFF +8D # STORE IT
DXCH MPAC # INTO MPAC FOR TPAGREE.
@ -384,7 +392,7 @@ TIMEDIDR INHINT
DCA UPBUFF +18D
DAS MPAC # FORM SUM IN MPAC
EXTEND
BZF DELTAOK # TEST FOR OVERFLOW
BZF DELTATOK # TEST FOR OVERFLOW
CAF ZERO
DXCH UPBUFF +18D # OVERFLOW, RESTORE OLD VALUE OF CLOCK
DAS TIME2 # AND TURN ON OPERATOR ERROR
@ -394,7 +402,7 @@ TIMEDIDR INHINT
TC UPTEMP # GO TO ERROR EXIT
DELTAOK TC TPAGREE # FORCE SIGN AGREEMENT
DELTATOK TC TPAGREE # FORCE SIGN AGREEMENT
DXCH MPAC
DAS TIME2 # INCREMENT TIME2,TIME1
@ -420,13 +428,12 @@ UPEND71 CAE UPBUFF +1 # SET EBANK
CCS A # INTO THE NEXT EBANK....
TCF UPERROUT # YES
CA NEG3 # NO -- CALCULATE NUMBER OF
CA NEG3 # NO- CALCULATE NUMBER OF
AD COMPNUMB # WORDS TO BE STORED MINUS ONE
STORLP71 TS MPAC # SAVE NO. OF WORDS REMAINING MINUS ONE
# Page 1394
INDEX A # TAKE NEXT UPDATE WORD FROM
CA UPBUFF +2 # UPBUFF AND
TS L # SAVE IT IN L
CA MPAC # CALCULATE NEXT
AD UPTEMP # RECEIVING ADDRESS
@ -436,9 +443,9 @@ STORLP71 TS MPAC # SAVE NO. OF WORDS REMAINING MINUS ONE
EBANK= TEPHEM
CCS MPAC # ARE THERE ANY WORDS LEFT TO BE STORED
TCF STORLP71 # YES
TCF UPOUT # NO -- THEN EXIT UPDATE PROGRAM
TCF UPOUT # NO- THEN EXIT UPDATE PROGRAM
ADUPBFM1 ADRES UPBUFF -1 # SAME AS ADUPBUFF BUT LESS 1 (DON'T MOVE)
TCF UPOUT # NO -- EXIT UPDATE (HERE WHEN COMPNUMB = 3)
TCF UPOUT # NO- EXIT UPDATE(HERE WHEN COMPNUMB = 3)
# VERB 72 BRANCH
@ -446,7 +453,7 @@ UPEND72 CAF BIT1 # HAVE AN ODD NO. OF COMPONENTS
MASK COMPNUMB # BEEN SENT FOR A V72 UPDATE...
CCS A
TCF +2 # YES
TCF UPERROUT # ERROR -- SHOULD BE ODD NO. OF COMPONENTS
TCF UPERROUT # ERROR- SHOULD BE ODD NO. OF COMPONENTS
CS BIT2
AD COMPNUMB
LDLOOP72 TS MPAC # NOW PERFORM THE UPDATE
@ -483,7 +490,7 @@ UPOUT EQUALS
TC ENDEXT # EXTENDED VERB EXIT
# VERB TO BRANCH
# VERB 7O BRANCH
UPEND70 EXTEND # V70 DOES THE FOLLOWING WITH DP DELTA
DCS UPBUFF # TIME IN UPBUFF
@ -535,11 +542,12 @@ UPERROUT TC FALTON # TURN ON *OPERATOR ERROR* LIGHT
+2 TC FALTON # TURN ON 'OPERATOR ERROR' LIGHT
TC UPACTOFF # TURN OFF'UPLINK ACTIVITY'LIGHT
TC ENDEXT # EXTENDED VERB EXIT
# (THE PURPOS OF UPERROUT +2 EXIT IS
# (THE PURPOSE OF UPERROUT +2 EXIT IS
# TO PROVIDE AN ERROR EXIT WHICH DOES NOT
# RESET ANY RESTART GROUPS)
# 'UPACTOFF' IS A ROUTINE TO TURN OFF UPLINK ACTIVITY LIGHT ON ALL EXITS FROM UPDATE PROGRAM (P27).
# :UPACTOFF: IS A ROUTINE TO TURN OFF UPLINK ACTIVITY LIGHT ON ALL EXITS FROM UPDATE PROGRAM(P27).
UPACTOFF CS BIT3
EXTEND # TURN OFF UPLINK ACTIVITY LIGHT