* Proof P76 * 1) comma instead of period 2) -- to - 3) remove space after comma * Proof UPDATE_PROGRAM * backquote to single quote
This commit is contained in:
parent
c8fa53b43d
commit
379b8fc56b
@ -57,43 +57,45 @@
|
|||||||
# ALARM/ABORT: TC FALTON FOLLOWED BY TC ENDEXT
|
# ALARM/ABORT: TC FALTON FOLLOWED BY TC ENDEXT
|
||||||
#
|
#
|
||||||
# RESTARTS: P27 IS RESTART PROTECTED IN TWO WAYS ...
|
# RESTARTS: P27 IS RESTART PROTECTED IN TWO WAYS ...
|
||||||
# 1. PRIOR TO VERIFLAG INVERSION (WHICH IS CAUSED BY THE GROUND/ASTRONAUT'S VERIFICATION OF UPDATE
|
# 1. PRIOR TO VERIFLAG INVERSION(WHICH IS CAUSED BY THE GROUND/ASTRONAUT'S VERIFICATION OF UPDATE
|
||||||
# DATA BY SENDING A V33E WHEN V21N02 IS FLASHING)---
|
# DATA BY SENDING A V33E WHEN V21N02 IS FLASHING)---
|
||||||
# NO PROTECTION EXCEPT PRE-P27 MODE IS RESTORED, COAST + ALIGN DOWNLIST IS SELECTED AND UPLINE
|
# NO PROTECTION EXCEPT PRE-P27 MODE IS RESTORED, COAST + ALIGN DOWNLIST IS SELECTED AND UPLINE
|
||||||
# ACTIVITY LIGHT IS TURNED OFF. (JUST AS IF A V34E WAS SENT DURING P27 DATA LOADS).
|
# 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)---
|
# 2. AFTER VERIFLAG INVERSION(WHEN UPDATE OF THE SPECIFIED ERASABLES IS BEING PERFORMED)---
|
||||||
# PROTECTED AGAINST RESTARTS.
|
# PROTECTED AGAINST RESTARTS.
|
||||||
#
|
#
|
||||||
# DEBRIS: UPBUFF (20D) TEMP STORAGE FOR ADDRESSES AND CONTENTS.
|
# DEBRIS: UPBUFF (20D) TEMP STORAGE FOR ADDRESSES AND CONTENTS.
|
||||||
# UPVERB (1) VERB NUMBER MINUS 70D (E.G., FOR V72, UPVERB = 72D - 70D = 2)
|
# UPVERB (1) VERB NUMBER MINUS 70D (E.G. FOR V72, UPVERB = 72D - 70D = 2)
|
||||||
# UPOLDMOD(1) FOR MAJOR MODE INTERRUPTED BY P27.
|
# UPOLDMOD(1) FOR MAJOR MODE INTERRUPTED BY P27.
|
||||||
# COMPNUMB(1) TOTAL NUMBER OF COMPONENTS TO BE TRANSMITTED.
|
# COMPNUMB(1) TOTAL NUMBER OF COMPONENTS TO BE TRANSMITTED.
|
||||||
# UPCOUNT (1) ACTUAL NUMBER OF COMPONENTS RECEIVED.
|
# UPCOUNT (1) ACTUAL NUMBER OF COMPONENTS RECEIVED.
|
||||||
# UPTEMP (1) SCRATCH, BUT USUALLY CONTAINS COMPONENT NUMBER TO BE CHANGED DURING VERIFY CYCLE.
|
# UPTEMP (1) SCRATCH, BUT USUALLY CONTAINS COMPONENT NUMBER TO BE CHANGED DURING VERIFY CYCLE
|
||||||
#
|
#
|
||||||
# INPUT:
|
# INPUT:
|
||||||
#
|
#
|
||||||
# ENTRY DESCRIPTION
|
# ENTRY: DESCRIPTION
|
||||||
|
#
|
||||||
# V70EXXXXXEXXXXXE (LIFTOFF TIME INCREMENT) DOUBLE PRECISION OCTAL TIME INCREMENT, XXXXX XXXXX,
|
# 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
|
# 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).
|
# VECTOR TIME(TETCSM) AND SUBTRACTED FROM LEM STATE VECTOR TIME(TETLEM).
|
||||||
# THE DP OCTAL TIME INCREMENT IS SCALED AT 2(28).
|
# THE DP OCTAL TIME INCREMENT IS SCALED AT 2(28).
|
||||||
# Page 1498
|
# Page 1498
|
||||||
# V71EIIEAAAAE (CONTIGUOUS BLOCK UPDATE) II-2 OCTAL COMPONENTS, XXXXX,
|
# V71EIIEAAAAE (CONTIGUOUS BLOCK UPDATE) II-2 OCTAL COMPONENTS,XXXXX,
|
||||||
# XXXXXE ARE LOADED INTO ERASABLE STARTING AT ECADR, AAAA.
|
# XXXXXE ARE LOADED INTO ERASABLE STARTING AT ECADR, AAAA.
|
||||||
# XXXXXE IT IS .GE. 3 .AND. .LE. 20D.,
|
# XXXXXE IT IS .GE. 3 .AND. .LE. 20D.,
|
||||||
# AND (AAAA + II -3) DOES NOT PRODUCE AN ADDRESS IN THE
|
# AND (AAAA + II -3) DOES NOT PRODUCE AN ADDRESS IN THE
|
||||||
# 9 NEXT BANK
|
# NEXT BANK.
|
||||||
# . SCALING IS SAME AS INTERNAL REGISTERS.
|
# . SCALING IS SAME AS INTERNAL REGISTERS.
|
||||||
# V72EIIE (SCATTER UPDATE) (II-1)/2 OCTAL COMPONENTS, XXXXX, ARE
|
#
|
||||||
|
# V72EIIE (SCATTER UPDATE) (II-1)/2 OCTAL COMPONENTS,XXXXX, ARE
|
||||||
# AAAAEXXXXXE LOADED INTO ERASABLE LOCATIONS, AAAA.
|
# AAAAEXXXXXE LOADED INTO ERASABLE LOCATIONS, AAAA.
|
||||||
# AAAAEXXXXXE II IS .GE. 3 .AND. .LE. 19D, AND MUST BE ODD.
|
# 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
|
# V73EXXXXXEXXXXXE (OCTAL CLOCK INCREMENT) DOUBLE PRECISION OCTAL TIME
|
||||||
# INCREMENT XXXXX XXXXX, IS ADDED TO THE AGC CLOCK, IN
|
# 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.
|
# THIS LOAD IS THE OCTAL EQUIVALENT OF V55.
|
||||||
#
|
#
|
||||||
# OUTPUT: IN ADDITION TO THE ABOVE REGISTER LOADS, ALL UPDATES
|
# OUTPUT: IN ADDITION TO THE ABOVE REGISTER LOADS, ALL UPDATES
|
||||||
@ -105,13 +107,13 @@
|
|||||||
#
|
#
|
||||||
# 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)
|
# 1. CSM/LM STATE VECTOR UPDATE(ALL DATA ENTRIES IN OCTAL)
|
||||||
# ENTRIES: DATA DEFINITION: SCALE FACTORS:
|
# ENTRIES: DATA DEFINITION: SCALE FACTORS:
|
||||||
# V71E CONTIGUOUS BLOCK UPDATE VERB
|
# V71E CONTIGUOUS BLOCK UPDATE VERB
|
||||||
# 21E NUMBER OF COMPONENTS FOR STATE VECTOR UPDATE
|
# 21E NUMBER OF COMPONENTS FOR STATE VECTOR UPDATE
|
||||||
# AAAAE ECADR OF `UPSVFLAG'
|
# AAAAE ECADR OF 'UPSVFLAG'
|
||||||
# XXXXXE STATE VECTOR IDENTIFIER: 00001 FOR CSM, 77776 FOR LEM -- EARTH SPHERE OF INFLUENCE SCALING
|
# 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
|
# 00002 FOR CSM, 77775 FOR LEM - LUNAR SPHERE OF INFLUENCE SCALING
|
||||||
# XXXXXEXXXXXE X POSITION
|
# XXXXXEXXXXXE X POSITION
|
||||||
# XXXXXEXXXXXE Y POSITION
|
# XXXXXEXXXXXE Y POSITION
|
||||||
# XXXXXEXXXXXE Z POSITION
|
# XXXXXEXXXXXE Z POSITION
|
||||||
@ -121,12 +123,12 @@
|
|||||||
# XXXXXEXXXXXE TIME FROM AGC CLOCK ZERO
|
# XXXXXEXXXXXE TIME FROM AGC CLOCK ZERO
|
||||||
# V33E VERB 33 TO SIGNAL THAT THE STATE VECTOR IS READY TO BE STORED.
|
# V33E VERB 33 TO SIGNAL THAT THE STATE VECTOR IS READY TO BE STORED.
|
||||||
#
|
#
|
||||||
# 2. REFSMMAT (ALL DATA ENTRIES IN OCTAL)
|
# 2. REFSMMAT(ALL DATA ENTRIES IN OCTAL)
|
||||||
# ENTRIES DATA DEFINITIONS SCALE FACTORS:
|
# ENTRIES: DATA DEFINITIONS: SCALE FACTORS:
|
||||||
# Page 1499
|
# Page 1499
|
||||||
# V71E CONTIGUOUS BLOCK UPDATE VERB
|
# V71E CONTIGUOUS BLOCK UPDATE VERB
|
||||||
# 24E NUMBER OF COMPONENTS FOR REFSMMAT UPDATE
|
# 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 1 2(-1)
|
||||||
# XXXXXEXXXXXE ROW 1 COLUMN 2 2(-1)
|
# XXXXXEXXXXXE ROW 1 COLUMN 2 2(-1)
|
||||||
# XXXXXEXXXXXE ROW 1 COLUMN 3 2(-1)
|
# XXXXXEXXXXXE ROW 1 COLUMN 3 2(-1)
|
||||||
@ -136,7 +138,7 @@
|
|||||||
# XXXXXEXXXXXE ROW 3 COLUMN 1 2(-1)
|
# XXXXXEXXXXXE ROW 3 COLUMN 1 2(-1)
|
||||||
# XXXXXEXXXXXE ROW 3 COLUMN 2 2(-1)
|
# XXXXXEXXXXXE ROW 3 COLUMN 2 2(-1)
|
||||||
# XXXXXEXXXXXE ROW 3 COLUMN 3 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
|
BANK 07
|
||||||
SETLOC EXTVERBS
|
SETLOC EXTVERBS
|
||||||
@ -156,18 +158,18 @@ V72UPDAT CAF UP72 # COMES HERE ON V72E
|
|||||||
|
|
||||||
V73UPDAT CAF UP73 # COMES HERE ON V73E
|
V73UPDAT CAF UP73 # COMES HERE ON V73E
|
||||||
|
|
||||||
+1 TS UPVERBSV # SAVE UPVERB UNTIL IT'S OK TO ENTER P27
|
+1 TS UPVERBSV # SAVE UPVERB UNTIL IT'S OK TO ENTER P27
|
||||||
|
|
||||||
TC TESTXACT # GRAB DISPLAY IF AVAILABLE, OTHERWISE
|
TC TESTXACT # GRAB DISPLAY IF AVAILABLE, OTHERWISE
|
||||||
# TURN *OPERATOR ERROR* ON AND TERMINATE JOB
|
# TURN*OPERATOR ERROR* ON AND TERMINATE JOB
|
||||||
|
|
||||||
CA MODREG # CHECK IF UPDATE ALLOWED
|
CA MODREG # CHECK IF UPDATE ALLOWED
|
||||||
EXTEND # FIRST CHECK FOR MODREG = +0, -0
|
EXTEND # FIRST CHECK FOR MODREG = +0, -0
|
||||||
BZF +2 # (+0 = P00, -0 = FRESHSTART)
|
BZF +2 # (+0 = P00, -0 = FRESH START)
|
||||||
TC CKMDMORE # NOW CHECK FOR PROGRAM WHICH CAN BE
|
TC CKMDMORE # NOW CHECK FOR PROGRAM WHICH CAN BE
|
||||||
# INTERRUPTED BY P27.
|
# INTERRUPTED BY P27.
|
||||||
|
|
||||||
CAE MODREG # UPDATE ALLOWED
|
CAE MODREG # UPDATE ALLOWED.
|
||||||
TS UPOLDMOD # SAVE CURRENT MAJOR MODE
|
TS UPOLDMOD # SAVE CURRENT MAJOR MODE
|
||||||
# Page 1500
|
# Page 1500
|
||||||
CAE UPVERBSV # SET UPVERB TO INDICDATE TO P27
|
CAE UPVERBSV # SET UPVERB TO INDICDATE TO P27
|
||||||
@ -177,18 +179,18 @@ V73UPDAT CAF UP73 # COMES HERE ON V73E
|
|||||||
TS UPCOUNT # INITIALIZE UPCOUNT TO 1
|
TS UPCOUNT # INITIALIZE UPCOUNT TO 1
|
||||||
|
|
||||||
TC POSTJUMP # LEAVE EXTENDED VERB BANK AND
|
TC POSTJUMP # LEAVE EXTENDED VERB BANK AND
|
||||||
CADR UPPART2 # GO TO UPDATE PROGRAM (P27) BANK.
|
CADR UPPART2 # GO TO UPDATE PROGRAM(P27) BANK.
|
||||||
|
|
||||||
CKMDMORE CS FLAGWRD5
|
CKMDMORE CS FLAGWRD5
|
||||||
MASK BIT8 # CHECK IF COMPUTER IS LGC
|
MASK BIT8 # CHECK IF COMPUTER IS LGC
|
||||||
CCS A # IS COMPUER LGC OR AGC
|
CCS A # IS COMPUER LGC OR AGC
|
||||||
UPERLEM TCF UPERROR # ERROR: IT'S THE LEM + MODE IS NOT P00.
|
UPERLEM TCF UPERROR # ERROR- IT'S THE LEM + MODE IS NOT P00.
|
||||||
CS TWO
|
CS TWO
|
||||||
MASK MODREG
|
MASK MODREG
|
||||||
CCS A
|
CCS A
|
||||||
UPERCMC TCF UPERROR # ERROR: IT'S THE CMC AND MODE IS NOT
|
UPERCMC TCF UPERROR # ERROR- IT'S THE CMC AND MODE IS NOT
|
||||||
# P00 OR P02.
|
# P00 OR P02.
|
||||||
TC Q # ALLOW UPDATE TO PROCEED.
|
TC Q # ALLOW UPDATE TO PROCEED
|
||||||
|
|
||||||
UPERROR TC POSTJUMP # TURN ON 'OPERATOR ERROR' LIGHT
|
UPERROR TC POSTJUMP # TURN ON 'OPERATOR ERROR' LIGHT
|
||||||
CADR UPERROUT +2 # GO TO COMMON UPDATE PROGRAM EXIT
|
CADR UPERROUT +2 # GO TO COMMON UPDATE PROGRAM EXIT
|
||||||
@ -205,7 +207,7 @@ UP73 EQUALS THREE
|
|||||||
|
|
||||||
COUNT* $$/P27
|
COUNT* $$/P27
|
||||||
|
|
||||||
UPPART2 EQUALS # UPDATE PROGRAM -- PART 2
|
UPPART2 EQUALS # UPDATE PROGRAM - PART 2
|
||||||
|
|
||||||
TC PHASCHNG # SET RESTART GROUP 6 TO RESTORE OLD MODE
|
TC PHASCHNG # SET RESTART GROUP 6 TO RESTORE OLD MODE
|
||||||
OCT 07026 # AND DOWNLIST AND EXIT IF RESTART OCCURS.
|
OCT 07026 # AND DOWNLIST AND EXIT IF RESTART OCCURS.
|
||||||
@ -222,23 +224,23 @@ UPPART2 EQUALS # UPDATE PROGRAM -- PART 2
|
|||||||
|
|
||||||
INDEX UPVERB # BRANCH DEPENDING ON WHETHER THE UPDATE
|
INDEX UPVERB # BRANCH DEPENDING ON WHETHER THE UPDATE
|
||||||
TCF +1 # VERB REQUIRES A FIXED OR VARIABLE NUMBER
|
TCF +1 # VERB REQUIRES A FIXED OR VARIABLE NUMBER
|
||||||
TCF +3 # V70 FIXED (OF COMPONENTS)
|
TCF +3 # V70 FIXED. (OF COMPONENTS.
|
||||||
TCF OHWELL1 # V71 VARIABLE -- GO GET NO. OF COMPONENTS
|
TCF OHWELL1 # V71 VARIABLE - GO GET NO. OF COMPONENTS
|
||||||
TCF OHWELL1 # V72 VARIABLE -- GO GET NO. OF COMPONENTS
|
TCF OHWELL1 # V72 VARIABLE - GO GET NO. OF COMPONENTS
|
||||||
CA TWO # V73 (AND V70) FIXED
|
CA TWO # V73 (AND V70) FIXED
|
||||||
TS COMPNUMB # SET NUMBER OF COMPONENTS TO 2.
|
TS COMPNUMB # SET NUMBER OF COMPONENTS TO 2.
|
||||||
TCF OHWELL2 # GO GET THE TWO UPDATE COMPONENTS
|
TCF OHWELL2 # GO GET THE TWO UPDATE COMPONENTS
|
||||||
|
|
||||||
OHWELL1 CAF ADUPBUFF # * REQUEST USER TO SEND NUMBER *
|
OHWELL1 CAF ADUPBUFF # * REQUEST USER TO SEND NUMBER *
|
||||||
TS MPAC +2 # * OF COMPONENTS PARAMETER(II) *
|
TS MPAC +2 # * OF COMPONENTS PARAMETER(II). *
|
||||||
+2 CAF UPLOADNV # (CKV432 RETURNS HERE IF V32 ENCOUNTERED)
|
+2 CAF UPLOADNV # (CKV432 RETURNS HERE IF V32 ENCOUNTERED)
|
||||||
TC BANKCALL # DISPLAY A FLASHING V21N01
|
TC BANKCALL # DISPLAY A FLASHING V21N01
|
||||||
CADR GOXDSPF # TO REQUEST II.
|
CADR GOXDSPF # TO REQUEST II.
|
||||||
TCF UPOUT4 # V32 TERMINATE UPDATE (P27) RETURN
|
TCF UPOUT4 # V34 TERMINATE UPDATE(P27) RETURN
|
||||||
TCF OHWELL1 +2
|
TCF OHWELL1 +2
|
||||||
TC CK4V32 # DATA OR V32 RETURN
|
TC CK4V32 # DATA OR V32 RETURN
|
||||||
CS BIT2
|
CS BIT2
|
||||||
AD UPBUFF # IS II (NUMBER OF COMPONENTS PARAMETER)
|
AD UPBUFF # IS II(NUMBER OF COMPONENTS PARAMETER)
|
||||||
EXTEND # .GE. 3 AND .LE. 20D.
|
EXTEND # .GE. 3 AND .LE. 20D.
|
||||||
BZMF OHWELL1 +2
|
BZMF OHWELL1 +2
|
||||||
CS UPBUFF
|
CS UPBUFF
|
||||||
@ -251,29 +253,29 @@ OHWELL1 CAF ADUPBUFF # * REQUEST USER TO SEND NUMBER *
|
|||||||
# UPBUFF LOADING SEQUENCE
|
# UPBUFF LOADING SEQUENCE
|
||||||
|
|
||||||
INCR UPCOUNT # INCREMENT COUNT OF COMPONENTS RECEIVED.
|
INCR UPCOUNT # INCREMENT COUNT OF COMPONENTS RECEIVED.
|
||||||
OHWELL2 CAF ADUPBFM1 # CALCULATE LOCATION (ECADR) IN UPBUFF
|
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.
|
+2 TS MPAC +2 # PLACE ECADR INTO R3.
|
||||||
+3 CAF UPLOADNV # (CK4V32 RETURNS HERE IF V32 ENCOUNTERED)
|
+3 CAF UPLOADNV # (CK4V32 RETURNS HERE IF V32 ENCOUNTERED)
|
||||||
TC BANKCALL # DISPLAY A FLASHING V21N01
|
TC BANKCALL # DISPLAY A FLASHING V21N01
|
||||||
CADR GOXDSPF # TO REQUEST DATA.
|
CADR GOXDSPF # TO REQUEST DATA.
|
||||||
TCF UPOUT4 # V34 TERMINATE UPDATE (P27) RETURN.
|
TCF UPOUT4 # V34 TERMINATE UPDATE(P27) RETURN.
|
||||||
TCF OHWELL2 +3 # V33 PROCEED RETURN
|
TCF OHWELL2 +3 # V33 PROCEED RETURN
|
||||||
TC CK4V32 # DATA OR V32 RETURN
|
TC CK4V32 # DATA OR V32 RETURN
|
||||||
CS UPCOUNT # HAVE WE FINISHED RECEIVING ALL
|
CS UPCOUNT # HAVE WE FINISHED RECEIVING ALL
|
||||||
AD COMPNUMB # THE DATA WE EXPECTED.
|
AD COMPNUMB # THE DATA WE EXPECTED.
|
||||||
EXTEND
|
EXTEND
|
||||||
BZMF UPVERIFY # YES -- GO TO VERIFICATION SEQUENCE
|
BZMF UPVERIFY # YES- GO TO VERIFICATION SEQUENCE
|
||||||
TCF OHWELL2 -1 # NO -- REQUEST ADDITIONAL DATA.
|
TCF OHWELL2 -1 # NO- REQUEST ADDITIONAL DATA.
|
||||||
|
|
||||||
# Page 1502
|
# Page 1502
|
||||||
# VERIFY SEQUENCE
|
# VERIFY SEQUENCE
|
||||||
UPVERIFY CAF ADUPTEMP # PLACE ECADR WHERE COMPONENT NO. INDEX
|
UPVERIFY CAF ADUPTEMP # PLACE ECADR WHERE COMPONENT NO. INDEX
|
||||||
TS MPAC +2 # IS TO BE STORED INTO R3.
|
TS MPAC +2 # IS TO BE STORED INTO R3.
|
||||||
CAF UPVRFYNV # (CK4V32 RETURNS HERE IF V32 ENCOUNTERED)
|
CAF UPVRFYNV # (CK4V32 RETURNS HERE IF V32 ENCOUNTERED)
|
||||||
TC BANKCALL # DISPLAY A FLASHING V21N02 TO REQUEXT
|
TC BANKCALL # DISPLAY A FLASHING V21N02 TO REQUEST
|
||||||
CADR GOXDSPF # DATA CORRECTION OR VERIFICATION.
|
CADR GOXDSPF # DATA CORRECTION OR VERIFICATION.
|
||||||
TCF UPOUT4 # V34 TERMINATE UPDATE (P27) RETURN
|
TCF UPOUT4 # V34 TERMINATE UPDATE(P27) RETURN
|
||||||
TCF UPSTORE # V33 DATA SENT IS GOOD. GO STORE IT.
|
TCF UPSTORE # V33 DATA SENT IS GOOD. GO STORE IT.
|
||||||
TC CK4V32 # COMPONENT NO. INDEX OR V32 RETURN
|
TC CK4V32 # COMPONENT NO. INDEX OR V32 RETURN
|
||||||
CA UPTEMP # DOES THE COMPONENT NO. INDEX JUST SENT
|
CA UPTEMP # DOES THE COMPONENT NO. INDEX JUST SENT
|
||||||
@ -284,20 +286,20 @@ UPVERIFY CAF ADUPTEMP # PLACE ECADR WHERE COMPONENT NO. INDEX
|
|||||||
AD BIT1
|
AD BIT1
|
||||||
EXTEND
|
EXTEND
|
||||||
BZMF UPVERIFY # NO
|
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
|
AD UPTEMP # CALCULATE THE ECADR OF LOCATION IN
|
||||||
TCF OHWELL2 +2 # UPBUFF WHICH USER WANTS TO CHANGE.
|
TCF OHWELL2 +2 # UPBUFF WHICH USER WANTS TO CHANGE.
|
||||||
|
|
||||||
UPOUT4 EQUALS UPOUT +1 # COMES HERE ON V34 TC TERMINATE UPDATE.
|
UPOUT4 EQUALS UPOUT +1 # COMES HERE ON V34 TC TERMINATE UPDATE
|
||||||
|
|
||||||
# CHECK FOR VERB 32 SEQUENCE
|
# 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-
|
MASK BIT6 # ON DATA RETURN FROM "GOXDSP"& THE CON-
|
||||||
CCS A # TENTS OF MPAC = VERB. SO TEST FOR V32.
|
CCS A # TENTS OF MPAC = VERB. SO TEST FOR V32.
|
||||||
TC Q # IT'S NOT A V32, IT'S DATA. PROCEED.
|
TC Q # IT'S NOT A V32, IT'S DATA. PROCEED.
|
||||||
INDEX Q
|
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
|
ADUPTEMP ADRES UPTEMP # ADDRESS OF TEMP STORAGE FOR CORRECTIONS
|
||||||
ADUPBUFF ADRES UPBUFF # ADDRESS OF UPDATE DATA STORAGE BUFFER
|
ADUPBUFF ADRES UPBUFF # ADDRESS OF UPDATE DATA STORAGE BUFFER
|
||||||
@ -308,13 +310,13 @@ UPDTPHAS EQUALS FIVE
|
|||||||
|
|
||||||
# PRE-STORE AND FAN TO APPROPRIATE BRANCH SEQUENCE
|
# PRE-STORE AND FAN TO APPROPRIATE BRANCH SEQUENCE
|
||||||
|
|
||||||
UPSTORE EQUALS # GROUND HAS VERIFIED UPDATE. STORE DATA.
|
UPSTORE EQUALS # GROUND HAS VERIFIED UPDATE. STORE DATA.
|
||||||
|
|
||||||
INHINT
|
INHINT
|
||||||
|
|
||||||
CAE FLAGWRD7 # INVERT VERIFLAG (BIT 3 OF FLAGWRD7) TO
|
CAE FLAGWRD7 # INVERT VERIFLAG(BIT3 OF FLAGWRD7) TO
|
||||||
XCH L # INDICATE TO THE GROUND (VIA DOWNLINK)
|
XCH L # INDICATE TO THE GROUND(VIA DOWNLINK)
|
||||||
CAF BIT3 # THAT THE V33 (WHICH THE GROUND SENT TO
|
CAF BIT3 # THAT THE V33(WHICH THE GROUND SENT TO
|
||||||
# Page 1503
|
# Page 1503
|
||||||
EXTEND # VERIFY THE UPDATE) HAS BEEN SUCCESSFULLY
|
EXTEND # VERIFY THE UPDATE) HAS BEEN SUCCESSFULLY
|
||||||
RXOR LCHAN # RECEIVED BY THE UPDATE PROGRAM
|
RXOR LCHAN # RECEIVED BY THE UPDATE PROGRAM
|
||||||
@ -324,34 +326,34 @@ UPSTORE EQUALS # GROUND HAS VERIFIED UPDATE. STORE DATA.
|
|||||||
OCT 04026 # DATA STORE IF A RESTART OCCURS.
|
OCT 04026 # DATA STORE IF A RESTART OCCURS.
|
||||||
INHINT # (BECAUSE PHASCHNG DID A RELINT)
|
INHINT # (BECAUSE PHASCHNG DID A RELINT)
|
||||||
|
|
||||||
CS TWO # GO TO UPFNDVAC IF INSTALL IS REQUIRED.
|
CS TWO # GO TO UPFNDVAC IF INSTALL IS REQUIRED,
|
||||||
AD UPVERB # THAT IS, IF IT'S A V70 - V72.
|
AD UPVERB # THAT IS, IF IT'S A V70 - V72.
|
||||||
EXTEND # GO TO UPEND73 IF IT'S A V73.
|
EXTEND # GO TO UPEND73 IF IT'S A V73.
|
||||||
BZMF UPFNDVAC
|
BZMF UPFNDVAC
|
||||||
|
|
||||||
# VERB 73 BRANCH
|
# VERB 73 BRANCH
|
||||||
|
|
||||||
UPEND73 EXTEND # V73 -- PERFORM DP OCTAL AGC CLOCK INCREMENT
|
UPEND73 EXTEND # V73-PERFORM DP OCTAL AGC CLOCK INCREMENT
|
||||||
DCA UPBUFF
|
DCA UPBUFF
|
||||||
DXCH UPBUFF +8D
|
DXCH UPBUFF +8D
|
||||||
TC TIMEDIDL
|
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
|
TC UPOUT +1 # GO TO COMMON UPDATE PROGRAM EXIT
|
||||||
|
|
||||||
UPFNDVAC CAF CHRPRIO # (USE EXTENDED VERB PRIORITY)
|
UPFNDVAC CAF CHRPRIO # (USE EXTENDED VERB PRIORITY)
|
||||||
TC FINDVAC # GET VAC AREA FOR `CALL INTSTALL'
|
TC FINDVAC # GET VAC AREA FOR 'CALL INTSTALL'
|
||||||
EBANK= TEPHEM
|
EBANK= TEPHEM
|
||||||
2CADR UPJOB # (NOTE: THIS WILL ALSO SET EBANK FOR
|
2CADR UPJOB # (NOTE: THIS WILL ALSO SET EBANK FOR
|
||||||
TC ENDOFJOB # `TEPHEM' UPDATE BY V70)
|
TC ENDOFJOB # 'TEPHEM' UPDATE BY V70)
|
||||||
|
|
||||||
UPJOB TC INTPRET # THIS COULD BE A STATE VECTOR UPDATE -- SO
|
UPJOB TC INTPRET # THIS COULD BE A STATE VECTOR UPDATE--SO
|
||||||
CALL # WAIT (PUT JOB TO SLEEP) IF ORBIT INT(OI)
|
CALL # WAIT(PUT JOB TO SLEEP) IF ORBIT INT(OI)
|
||||||
INTSTALL # IS IN PROGRESS -- OR -- GRAB OI AND RETURN
|
INTSTALL # IS IN PROGRESS--OR--GRAB OI AND RETURN
|
||||||
# TO UPWAKE IF OI IS NOT IN PROGRESS.
|
# TO UPWAKE IF OI IS NOT IN PROGRESS.
|
||||||
|
|
||||||
UPWAKE EXIT
|
UPWAKE EXIT
|
||||||
|
|
||||||
TC PHASCHNG # RESTART PROTECT (GROUP 6)
|
TC PHASCHNG # RESTART PROTECT(GROUP 6)
|
||||||
OCT 04026
|
OCT 04026
|
||||||
|
|
||||||
TC UPFLAG # SET INTEGRATION RESTART BIT
|
TC UPFLAG # SET INTEGRATION RESTART BIT
|
||||||
@ -366,7 +368,7 @@ UPPART3 EQUALS
|
|||||||
TCF UPEND72 # V72
|
TCF UPEND72 # V72
|
||||||
|
|
||||||
# Page 1504
|
# Page 1504
|
||||||
# ROUTINE TO INCREMENT CLOCK (TIME2,TIME1) WITH CONTENTS OF DP WORD AT UPBUFF.
|
# ROUTINE TO INCREMENT CLOCK(TIME2,TIME1) WITH CONTENTS OF DP WORD AT UPBUFF.
|
||||||
TIMEDIDL EXTEND
|
TIMEDIDL EXTEND
|
||||||
QXCH UPTEMP # SAVE Q FOR RETURN
|
QXCH UPTEMP # SAVE Q FOR RETURN
|
||||||
CAF ZERO # ZERO AND SAVE TIME2,TIME1
|
CAF ZERO # ZERO AND SAVE TIME2,TIME1
|
||||||
@ -390,21 +392,21 @@ TIMEDIDR INHINT
|
|||||||
DCA UPBUFF +18D
|
DCA UPBUFF +18D
|
||||||
DAS MPAC # FORM SUM IN MPAC
|
DAS MPAC # FORM SUM IN MPAC
|
||||||
EXTEND
|
EXTEND
|
||||||
BZF DELTAOK # TEST FOR OVERFLOW
|
BZF DELTATOK # TEST FOR OVERFLOW
|
||||||
CAF ZERO
|
CAF ZERO
|
||||||
DXCH UPBUFF +18D # OVERFLOW, RESTORE OLD VALUE OF CLOCK
|
DXCH UPBUFF +18D # OVERFLOW, RESTORE OLD VALUE OF CLOCK
|
||||||
DAS TIME2 # AND TURN ON OPERATOR ERROR
|
DAS TIME2 # AND TURN ON OPERATOR ERROR
|
||||||
|
|
||||||
TC PHASCHNG # RESTART PROTECT (GROUP 6)
|
TC PHASCHNG # RESTART PROTECT(GROUP 6)
|
||||||
OCT 04026
|
OCT 04026
|
||||||
|
|
||||||
TC UPTEMP # GO TO ERROR EXIT
|
TC UPTEMP # GO TO ERROR EXIT
|
||||||
|
|
||||||
DELTAOK TC TPAGREE # FORCE SIGN AGREEMENT
|
DELTATOK TC TPAGREE # FORCE SIGN AGREEMENT
|
||||||
DXCH MPAC
|
DXCH MPAC
|
||||||
DAS TIME2 # INCREMENT TIME2,TIME1
|
DAS TIME2 # INCREMENT TIME2,TIME1
|
||||||
|
|
||||||
TC PHASCHNG # RESTART PROTECT (GROUP 6)
|
TC PHASCHNG # RESTART PROTECT(GROUP 6)
|
||||||
OCT 04026
|
OCT 04026
|
||||||
|
|
||||||
INHINT
|
INHINT
|
||||||
@ -418,6 +420,7 @@ UPEND71 CAE UPBUFF +1 # SET EBANK
|
|||||||
# Page 1505
|
# Page 1505
|
||||||
MASK LOW8 # CALCULATE
|
MASK LOW8 # CALCULATE
|
||||||
TS UPTEMP # S-REG VALUE OF RECEIVING AREA
|
TS UPTEMP # S-REG VALUE OF RECEIVING AREA
|
||||||
|
|
||||||
AD NEG3 # IN THE PROCESS OF
|
AD NEG3 # IN THE PROCESS OF
|
||||||
AD COMPNUMB # PERFORMING
|
AD COMPNUMB # PERFORMING
|
||||||
EXTEND # THIS UPDATE
|
EXTEND # THIS UPDATE
|
||||||
@ -426,7 +429,7 @@ UPEND71 CAE UPBUFF +1 # SET EBANK
|
|||||||
CCS A # INTO THE NEXT EBANK....
|
CCS A # INTO THE NEXT EBANK....
|
||||||
TCF UPERROUT # YES
|
TCF UPERROUT # YES
|
||||||
|
|
||||||
CA NEG3 # NO -- CALCULATE NUMBER OF
|
CA NEG3 # NO- CALCULATE NUMBER OF
|
||||||
AD COMPNUMB # WORDS TO BE STORED MINUS ONE
|
AD COMPNUMB # WORDS TO BE STORED MINUS ONE
|
||||||
STORLP71 TS MPAC # SAVE NO. OF WORDS REMAINING MINUS ONE
|
STORLP71 TS MPAC # SAVE NO. OF WORDS REMAINING MINUS ONE
|
||||||
INDEX A # TAKE NEXT UPDATE WORD FROM
|
INDEX A # TAKE NEXT UPDATE WORD FROM
|
||||||
@ -436,28 +439,28 @@ STORLP71 TS MPAC # SAVE NO. OF WORDS REMAINING MINUS ONE
|
|||||||
AD UPTEMP # RECEIVING ADDRESS
|
AD UPTEMP # RECEIVING ADDRESS
|
||||||
INDEX A
|
INDEX A
|
||||||
EBANK= 1400
|
EBANK= 1400
|
||||||
LXCH 1400 # UPDATE THE REGISTER BY CONTENTS OF L
|
LXCH 1400 # UPDATE THE REGISTER BY CONTENTS OF L
|
||||||
EBANK= TEPHEM
|
EBANK= TEPHEM
|
||||||
CCS MPAC # ARE THERE ANY WORDS LEFT TO BE STORED
|
CCS MPAC # ARE THERE ANY WORDS LEFT TO BE STORED
|
||||||
TCF STORLP71 # YES
|
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)
|
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
|
# VERB 72 BRANCH
|
||||||
|
|
||||||
UPEND72 CAF BIT1 # HAVE AN ODD NO. OF COMPONENTS
|
UPEND72 CAF BIT1 # HAVE AN ODD NO. OF COMPONENTS
|
||||||
MASK COMPNUMB # BEEN SENT FOR A V72 UPDATE ...
|
MASK COMPNUMB # BEEN SENT FOR A V72 UPDATE...
|
||||||
CCS A
|
CCS A
|
||||||
TCF +2 # YES
|
TCF +2 # YES
|
||||||
TCF UPERROUT # ERROR -- SHOULD BE ODD NO. OF COMPONENTS
|
TCF UPERROUT # ERROR- SHOULD BE ODD NO. OF COMPONENTS
|
||||||
CS BIT2
|
CS BIT2
|
||||||
AD COMPNUMB
|
AD COMPNUMB
|
||||||
LDLOOP72 TS MPAC # NOW PERFORM THE UPDATE
|
LDLOOP72 TS MPAC # NOW PERFORM THE UPDATE
|
||||||
INDEX A
|
INDEX A
|
||||||
CAE UPBUFF +1 # PICK UP NEXT UPDATE WORD
|
CAE UPBUFF +1 # PICK UP NEXT UPDATE WORD
|
||||||
LXCH A
|
LXCH A
|
||||||
CCS MPAC # SET POINTER TO ECADR (MUST BE CCS)
|
CCS MPAC # SET POINTER TO ECADR(MUST BE CCS)
|
||||||
TS MPAC
|
TS MPAC
|
||||||
INDEX A
|
INDEX A
|
||||||
CAE UPBUFF +1 # PICK UP NEXT ECADR OF REG TO BE UPDATED
|
CAE UPBUFF +1 # PICK UP NEXT ECADR OF REG TO BE UPDATED
|
||||||
@ -475,19 +478,20 @@ LDLOOP72 TS MPAC # NOW PERFORM THE UPDATE
|
|||||||
# NORMAL FINISH OF P27
|
# NORMAL FINISH OF P27
|
||||||
|
|
||||||
UPOUT EQUALS
|
UPOUT EQUALS
|
||||||
TC INTWAKEU # RELEASE GRAB OF ORBITAL INTEGRATION
|
TC INTWAKEU # RELEASE GRAB OF ORBITAL INTEGRATION
|
||||||
+1 CAE UPOLDMOD # RESTORE PRIOR P27 MODE
|
+1 CAE UPOLDMOD # RESTORE PRIOR P27 MODE
|
||||||
TC NEWMODEX +3
|
TC NEWMODEX +3
|
||||||
CAF ZERO
|
CAF ZERO
|
||||||
TS DNLSTCOD
|
TS DNLSTCOD
|
||||||
TC UPACTOFF # TURN OFF `UPLINK ACTIVITY' LIGHT
|
TC UPACTOFF # TURN OFF 'UPLINK ACTIVITY' LIGHT
|
||||||
|
|
||||||
EXTEND # KILL GROUP 6
|
EXTEND # KILL GROUP 6
|
||||||
DCA NEG0
|
DCA NEG0
|
||||||
DXCH -PHASE6
|
DXCH -PHASE6
|
||||||
|
|
||||||
TC ENDEXT # EXTENDED VERB EXIT
|
TC ENDEXT # EXTENDED VERB EXIT
|
||||||
|
|
||||||
# VERB TO BRANCH
|
# VERB 70 BRANCH
|
||||||
|
|
||||||
UPEND70 EXTEND # V70 DOES THE FOLLOWING WITH DP DELTA
|
UPEND70 EXTEND # V70 DOES THE FOLLOWING WITH DP DELTA
|
||||||
DCS UPBUFF # TIME IN UPBUFF
|
DCS UPBUFF # TIME IN UPBUFF
|
||||||
@ -504,7 +508,7 @@ UPEND70 EXTEND # V70 DOES THE FOLLOWING WITH DP DELTA
|
|||||||
DCS UPBUFF
|
DCS UPBUFF
|
||||||
DXCH UPBUFF +12D
|
DXCH UPBUFF +12D
|
||||||
|
|
||||||
TC PHASCHNG # RESTART PROTECT (GROUP 6)
|
TC PHASCHNG # RESTART PROTECT(GROUP 6)
|
||||||
OCT 04026
|
OCT 04026
|
||||||
|
|
||||||
CAF ZERO
|
CAF ZERO
|
||||||
@ -513,18 +517,18 @@ UPEND70 EXTEND # V70 DOES THE FOLLOWING WITH DP DELTA
|
|||||||
DAS TETCSM
|
DAS TETCSM
|
||||||
|
|
||||||
CAF ZERO
|
CAF ZERO
|
||||||
|
|
||||||
# Page 1507
|
# Page 1507
|
||||||
ZL
|
ZL
|
||||||
DXCH UPBUFF +12D # DECREMENT LEM STATE VECTOR TIME
|
DXCH UPBUFF +12D # DECREMENT LEM STATE VECTOR TIME
|
||||||
DAS TETLEM
|
DAS TETLEM
|
||||||
|
|
||||||
CAF ZERO
|
CAF ZERO
|
||||||
ZL
|
ZL
|
||||||
DXCH UPBUFF
|
DXCH UPBUFF
|
||||||
DAS TEPHEM +1 # INCREMENT TP TEPHEM
|
DAS TEPHEM +1 # INCREMENT TP TEPHEM
|
||||||
ADS TEPHEM
|
ADS TEPHEM
|
||||||
|
|
||||||
TC PHASCHNG # RESTART PROTECT (GROUP 6)
|
TC PHASCHNG # RESTART PROTECT(GROUP 6)
|
||||||
OCT 04026
|
OCT 04026
|
||||||
|
|
||||||
EBANK= UPBUFF
|
EBANK= UPBUFF
|
||||||
@ -536,19 +540,16 @@ UPEND70 EXTEND # V70 DOES THE FOLLOWING WITH DP DELTA
|
|||||||
UPERROUT TC FALTON # TURN ON *OPERATOR ERROR* LIGHT
|
UPERROUT TC FALTON # TURN ON *OPERATOR ERROR* LIGHT
|
||||||
TCF UPOUT # GO TO COMMON UPDATE PROGRAM EXIT
|
TCF UPOUT # GO TO COMMON UPDATE PROGRAM EXIT
|
||||||
|
|
||||||
+2 TC FALTON # TURN ON `OPERATOR ERROR' LIGHT
|
+2 TC FALTON # TURN ON 'OPERATOR ERROR' LIGHT
|
||||||
TC UPACTOFF # TURN OFF `UPLINK ACTIVITY' LIGHT
|
TC UPACTOFF # TURN OFF'UPLINK ACTIVITY'LIGHT
|
||||||
TC ENDEXT # EXTENDED VERB EXIT
|
TC ENDEXT # EXTENDED VERB EXIT
|
||||||
# (THE PURPOSE OF UPERROUT +2 EXIT IS
|
# (THE PURPOSE OF UPERROUT +2 EXIT IS
|
||||||
# TO PROVIDE AN ERROR EXIT WHICH DOES NOT
|
# TO PROVIDE AN ERROR EXIT WHICH DOES NOT
|
||||||
# RESET ANY RESTART GROUPS)
|
# 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
|
UPACTOFF CS BIT3
|
||||||
EXTEND # TURN OFF UPLINK ACTIVITY LIGHT
|
EXTEND # TURN OFF UPLINK ACTIVITY LIGHT
|
||||||
WAND DSALMOUT # (BIT 3 OF CHANNEL 11)
|
WAND DSALMOUT # (BIT 3 OF CHANNEL 11)
|
||||||
TC Q
|
TC Q
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user