* Proof FIXED_FIXED_CONSTANT_POOL (#207) * wip(p1094/1102): Proof DOWN-TELEMETRY_PROGRAM #201 * wip(p1097/1102): Proof DOWN-TELEMETRY_PROGRAM #201 * wip(p1102/1102: DONE): Proof DOWN-TELEMETRY_PROGRAM #201
This commit is contained in:
parent
a492832dae
commit
98faa4c43d
@ -32,69 +32,56 @@
|
|||||||
# information. Please report any errors to info@sandroid.org.
|
# information. Please report any errors to info@sandroid.org.
|
||||||
|
|
||||||
# Page 1093
|
# Page 1093
|
||||||
# PROGRAM NAME -- DOWN TELEMETRY PROGRAM
|
# PROGRAM NAME- DOWN TELEMETRY PROGRAM
|
||||||
# MOD NO. -- 0 TO COMPLETELY REWRITE THE DOWN TELEMETRY PROGRAM AND DOWNLINK ERASABLE DUMP PROGRAM FOR THE
|
# MOD NO.- 0 TO COMPLETELY REWRITE THE DOWN TELEMETRY PROGRAM AND DOWNLINK ERASABLE DUMP PROGRAM FOR THE
|
||||||
# PURPOSE OF SAVING APPROXIMATELY 150 WORDS OF CORE STORAGE.
|
# PURPOSE OF SAVING APPROXIMATELY 150 WORDS OF CORE STORAGE.
|
||||||
# THIS CHANGE REQUIRES AN ENTIRELY NEW METHOD OF SPECIFYING DOWNLINK LISTS. REFER TO DOWNLINK
|
# THIS CHANGE REQUIRES AN ENTIRELY NEW METHOD OF SPECIFYING DOWNLINK LISTS. REFER TO DOWNLINK
|
||||||
# LISTS LOG SECTION FOR MORE DETAILS. HOWEVER THIS CHANGES WILL NOT AFFECT THE GROUND PROCESSING
|
# LISTS LOG SECTION FOR MORE DETAILS. HOWEVER THIS CHANGES WILL NOT AFFECT THE GROUND PROCESSING
|
||||||
# OF DOWN TELEMETRY DATA.
|
# OF DOWN TELEMETRY DATA.
|
||||||
# MOD BY -- KILROY, SMITH, DEWITT
|
# MOD BY- KILROY, SMITH, DEWITT
|
||||||
# DATE -- 02 OCT 67
|
# DATE- 02OCT67
|
||||||
# AUTHORS -- KILROY, SMITH, DWWITT, DEWOLF, FAGIN
|
# AUTHORS- KILROY, SMITH, DWWITT, DEWOLF, FAGIN
|
||||||
# LOG SECTION -- DOWN-TELEMETRY PROGRAM
|
# LOG SECTION- DOWN-TELEMETRY PROGRAM
|
||||||
#
|
# FUNCTIONAL DESCRIPTION- THIS ROUTINE IS INITIATED BY TELEMETRY END
|
||||||
# FUNCTIONAL DESCRIPTION -- THIS ROUTINE IS INITIATED BY TELEMETRY END
|
|
||||||
# PULSE FROM THE DOWNLINK TELEMETRY CONVERTER. THIS PULSE OCCURS
|
# PULSE FROM THE DOWNLINK TELEMETRY CONVERTER. THIS PULSE OCCURS
|
||||||
# AT 50 TIMES PER SEC (EVERY 20 MS) THEREFORE DODOWNTM IS
|
# AT 50 TIMES PER SEC(EVERY 20 MS) THEREFORE DODOWNTM IS
|
||||||
# EXECUTED AT THESE RATES. THIS ROUTINE SELECTS THE APPROPRIATE
|
# EXECUTED AT THESE RATES. THIS ROUTINE SELECTS THE APPROPRIATE
|
||||||
# AGC DATA TO BE TRANSMITTED DOWNLINK AND LOADS IT INTO OUTPUT
|
# AGC DATA TO BE TRANSMITTED DOWNLINK AND LOADS IT INTO OUTPUT
|
||||||
# CHANNELS 34 AND 35. THE INFORMATION IS THEN GATED OUT FROM THE
|
# CHANNELS 34 AND 35. THE INFORMATION IS THEN GATED OUT FROM THE
|
||||||
# LGC IN SERIAL FASHION.
|
# LGC IN SERIAL FASHION.
|
||||||
#
|
|
||||||
# THIS PROGRAM IS CODED FOR A 2 SECOND DOWNLIST. SINCE DOWNRUPTS
|
# THIS PROGRAM IS CODED FOR A 2 SECOND DOWNLIST. SINCE DOWNRUPTS
|
||||||
# OCCUR EVERY 20 MS AND 2 AGC COMPUTER WORDS CAN BE PLACED IN
|
# OCCUR EVERY 20MS AND 2 AGC COMPUTER WORDS CAN BE PLACED IN
|
||||||
# CHANNELS 34 AND 35 DURING EACH DOWNRUPT THE PROGRAM IS CAPABLE
|
# CHANNELS 34 AND 35 DURING EACH DOWNRUPT THE PROGRAM IS CAPABLE
|
||||||
# OF SENDING 200 AGC WORDS EVERY 2 SECONDS.
|
# OF SENDING 200 AGC WORDS EVERY 2 SECONDS.
|
||||||
#
|
# CALLING SEQUENCE- NONE
|
||||||
# CALLING SEQUENCE -- NONE
|
|
||||||
# PROGRAM IS ENTERED VIA TCF DODOWNTM WHICH IS EXECUTED AS A
|
# PROGRAM IS ENTERED VIA TCF DODOWNTM WHICH IS EXECUTED AS A
|
||||||
# RESULT OF A DOWNRUPT. CONTROL IS RETURNED VIA TCF RESUME WHICH
|
# RESULT OF A DOWNRUPT. CONTROL IS RETURNED VIA TCF RESUME WHICH
|
||||||
# IN EFFECT IS A RESUME.
|
# IN EFFECT IS A RESUME.
|
||||||
#
|
# SUBROUTINES CALLED- NONE
|
||||||
# SUBROUTINES CALLED -- NONE
|
# NORMAL EXIT MODE- TCF RESUME
|
||||||
#
|
# ALARM OR ABORT EXIT MODE- NONE
|
||||||
# NORMAL EXIT MODE -- TCF RESUME
|
|
||||||
#
|
|
||||||
# ALARM OR ABORT EXIT MODE -- NONE
|
|
||||||
#
|
|
||||||
# RESTART PROTECTION:
|
# RESTART PROTECTION:
|
||||||
# ON A FRESH START AND RESTART THE `STARTSUB' SUBROUTINE WILL INITIALIZE THE DOWNLIST POINTER (ACTUALLY
|
# ON A FRESH START AND RESTART THE 'STARTSUB' SUBROUTINE WILL INITIALIZE THE DOWNLIST POINTER(ACTUALLY
|
||||||
# DNTMGOTO) TO THE BEGINNING OF THE CURRENT DOWNLIST (I.E., CURRENT CONTENTS OF DNLSTADR). THIS HAS THE
|
# DNTMGOTO) TO THE BEGINNING OF THE CURRENT DOWNLIST(I.E., CURRENT CONTENTS OF DNLSTADR). THIS HAS THE
|
||||||
# EFFECT OF IGNORING THE REMAINDER OF THE DOWNLIST WHICH THE DOWN-TELEMETRY PROGRAM WAS WORKING ON WHEN
|
# EFFECT OF IGNORING THE REMAINDER OF THE DOWNLIST WHICH THE DOWN-TELEMETRY PROGRAM WAS WORKING ON WHEN
|
||||||
# THE RESTART (OR FRESH START) OCCURRED AND RESUME DOWN TELEMETRY FROM THE BEGINNING OF THE CURRENT
|
# THE RESTART(OR FRESH START) OCCURRED AND RESUME DOWN TELEMETRY FROM THE BEGINNING OF THE CURRENT
|
||||||
# DOWNLIST.
|
# DOWNLIST.
|
||||||
#
|
|
||||||
# ALSO OF INTEREST IS THE FACT THAT ON A RESTART THE AGC WILL ZERO DOWNLINK CHANNELS 13, 34 AND 35.
|
# ALSO OF INTEREST IS THE FACT THAT ON A RESTART THE AGC WILL ZERO DOWNLINK CHANNELS 13, 34 AND 35.
|
||||||
#
|
|
||||||
# DOWNLINK LIST SELECTION:
|
# DOWNLINK LIST SELECTION:
|
||||||
# THE APPROPRIATE DOWNLINK LISTS ARE SELECTED BY THE FOLLOWING:
|
# THE APPROPRIATE DOWNLINK LISTS ARE SELECTED BY THE FOLLOWING:
|
||||||
# 1. FRESH START
|
# 1. FRESH START
|
||||||
# 2. V37EXXE WHERE XX = THE MAJOR MODE BEING SELECTED.
|
# 2. V37EXXE WHERE XX = THE MAJOR MODE BEING SELECTED.
|
||||||
# 3. UPDATE PROGRAM (P27)
|
# 3. UPDATE PROGRAM(P27)
|
||||||
# 4. NON-V37 SELECTABLE TYPE PROGRAMS (E.G., AGS INITIALIZATION (SUNDANCE, LUMINARY) AND P61-P62
|
# 4. NON-V37 SELECTABLE TYPE PROGRAMS(E.G. AGS INITIALIZATION(SUNDANCE,LUMINARY) AND P61-P62
|
||||||
# TRANSITIONS (COLOSSUS) ETC.).
|
# TRANSITION(COLOSSUS) ETC.).
|
||||||
#
|
|
||||||
# DOWNLINK LIST RULES AND LIMITATIONS:
|
# DOWNLINK LIST RULES AND LIMITATIONS:
|
||||||
# READ SECTION(S) WHICH FOLLOW `DEBRIS' WRITEUP.
|
# READ SECTION(S) WHICH FOLLOW 'DEBRIS' WRITEUP.
|
||||||
#
|
# OUTPUT- EVERY 2 SECONDS 100 DOUBLE PRECISION WORDS(I.E. 200 LGC
|
||||||
# OUTPUT -- EVERY 2 SECONDS 100 DOUBLE PRECISION WORDS (I.E., 200 LGC
|
|
||||||
# COMPUTER WORDS) ARE TRANSMITTED VIA DOWNLINK.
|
# COMPUTER WORDS) ARE TRANSMITTED VIA DOWNLINK.
|
||||||
#
|
# ERASABLE INITIALIZATION REQUIRED- NONE
|
||||||
# ERASABLE INITIALIZATION REQUIRED -- NONE
|
# 'DNTMGOTO' AND 'DNLSTADR' ARE INITIALIZED BY THE FRESH START PROGRAM.
|
||||||
# `DNTMGOTO' AND `DNLSTADR' ARE INITIALIZED BY THE FRESH START PROGRAM.
|
# DEBRIS(ERASABLE LOCATIONS DESTROYED BY THIS PROGRAM)-
|
||||||
#
|
# LDATALST,DNTMBUFF TO DNTMBUFF +21D,TMINDEX,DNQ.
|
||||||
# DEBRIS (ERASABLE LOCATIONS DESTROYED BY THIS PROGRAM) --
|
|
||||||
# LDATALST, DNTMBUFF TO DNTMBUFF +21D, TMINDEX, DNQ.
|
|
||||||
# Page 1094
|
# Page 1094
|
||||||
# (No source on this page of the original assembly listing.)
|
# (No source on this page of the original assembly listing.)
|
||||||
|
|
||||||
@ -103,7 +90,7 @@
|
|||||||
# RECEIPT OF AN ENDPULSE FROM THE SPACECRAFT TELEMETRY PROGRAMMER.
|
# RECEIPT OF AN ENDPULSE FROM THE SPACECRAFT TELEMETRY PROGRAMMER.
|
||||||
#
|
#
|
||||||
# NOTES REGARDING DOWNLINK LISTS ASSOCIATED WITH THIS PROGRAM:
|
# NOTES REGARDING DOWNLINK LISTS ASSOCIATED WITH THIS PROGRAM:
|
||||||
# 1. DOWNLISTS. DOWNLISTS MUST BE COMPILED IN THE SAME BANK AS THE
|
# 1. DOWNLISTS. - DOWNLISTS MUST BE COMPILED IN THE SAME BANK AS THE
|
||||||
# DOWN-TELEMETRY PROGRAM. THIS IS DONE FOR EASE OF CODING, FASTER
|
# DOWN-TELEMETRY PROGRAM. THIS IS DONE FOR EASE OF CODING, FASTER
|
||||||
# EXECUTION.
|
# EXECUTION.
|
||||||
# 2. EACH DOWNLINK LIST CONSISTS OF A CONTROL LIST AND A NUMBER OF
|
# 2. EACH DOWNLINK LIST CONSISTS OF A CONTROL LIST AND A NUMBER OF
|
||||||
@ -111,7 +98,7 @@
|
|||||||
# 3. A SUBLIST REFERS TO A SNAPSHOT OR DATA COMMON TO THE SAME OR OTHER
|
# 3. A SUBLIST REFERS TO A SNAPSHOT OR DATA COMMON TO THE SAME OR OTHER
|
||||||
# DOWNLINK LISTS. ANY SUBLIST CONTAINING COMMON DATA NEEDS TO BE
|
# DOWNLINK LISTS. ANY SUBLIST CONTAINING COMMON DATA NEEDS TO BE
|
||||||
# CODED ONLY ONCE FOR THE APPLICABLE DOWNLINK LISTS.
|
# CODED ONLY ONCE FOR THE APPLICABLE DOWNLINK LISTS.
|
||||||
# 4. SNAPSHOT SUBLISTS REFER SPECIFICALLY TO HOMOGENEOUS DATA WHICH MUST BE
|
# 4. SNAPSHOT SUBLISTS REFER SPECIFICALLY TO HOMOGENOUS DATA WHICH MUST BE
|
||||||
# SAVED IN A BUFFER DURING ONE DOWNRUPT.
|
# SAVED IN A BUFFER DURING ONE DOWNRUPT.
|
||||||
# 5. THE 1DNADR FOR THE 1ST WORD OF SNAPSHOT DATA IS FOUND AT THE END
|
# 5. THE 1DNADR FOR THE 1ST WORD OF SNAPSHOT DATA IS FOUND AT THE END
|
||||||
# OF EACH SNAPSHOT SUBLIST, SINCE THE PROGRAM CODING SENDS THIS DP WORD
|
# OF EACH SNAPSHOT SUBLIST, SINCE THE PROGRAM CODING SENDS THIS DP WORD
|
||||||
@ -128,37 +115,46 @@
|
|||||||
# C. DNCHAN DOWNLIST CHANNEL ADDRESS.
|
# C. DNCHAN DOWNLIST CHANNEL ADDRESS.
|
||||||
# SAME AS 1DNADR, BUT WITH PREFIX BITS 0111. USED TO POINT TO
|
# SAME AS 1DNADR, BUT WITH PREFIX BITS 0111. USED TO POINT TO
|
||||||
# A PAIR OF CHANNELS FOR DOWN TELEMETRY.
|
# A PAIR OF CHANNELS FOR DOWN TELEMETRY.
|
||||||
# D. DNPTR DOWN-TELEMETRY SUBLIST POINTER.
|
# D. DNPTR DOWN TELEMETRY SUBLIST POINTER.
|
||||||
# SAME AS CAF BUT TAGGES AS A CONSTANT. USED IN CONTROL LIST TO POINT TO A SUBLIST.
|
# SAME AS CAF BUT TAGGES AS A CONSTANT. USED IN CONTROL LIST TO POINT TO A SUBLIST.
|
||||||
# CAUTION --- A DNPTR CANNOT BE USED IN A SUBLIST.
|
# CAUTION--- A DNPTR CANNOT BE USED IN A SUBLIST.
|
||||||
# 7. THE WORD ORDER CODE IS SET TO ZERO AT THE BEGINNING OF EACH DOWNLIST (I.E., CONTROL LIST) AND WHEN
|
# 7. THE WORD ORDER CODE IS SET TO ZERO AT THE BEGINNING OF EACH DOWNLIST (I.E., CONTROL LIST) AND WHEN
|
||||||
# A `1DNADR TIME2' IS DETECTED IN THE CONTROL LIST (ONLY).
|
# A '1DNADR TIME2' IS DETECTED IN THE CONTROL LIST(ONLY).
|
||||||
# 8. IN THE SNAPSHOT SUBLIST ONLY, THE DNADR'S CANNOT POINT TO THE FIRST WORD OF ANY EBANK.
|
# 8. IN THE SNAPSHOT SUBLIST ONLY, THE DNADR'S CANNOT POINT TO THE FIRST WORD OF ANY EBANK.
|
||||||
#
|
#
|
||||||
# DOWNLIST LIST RESTRICTIONS:
|
# DOWNLINK LIST RESTRICTIONS:
|
||||||
# (THE FOLLOWING POINTS MAY BE LISTED ELSEWHERE BUT ARE LISTED HERE SO IT IS CLEAR THAT THESE THINGS CANNOT BE
|
# (THE FOLLOWING POINTS MAY BE LISTED ELSEWHERE BUT ARE LISTED HERE SO IT IS CLEAR THAT THESE THINGS CANNOT BE
|
||||||
# DONE)
|
# DONE)
|
||||||
|
#
|
||||||
# 1. SNAPSHOT DOWNLIST:
|
# 1. SNAPSHOT DOWNLIST:
|
||||||
# (A) CANNOT CONTAIN THE FOLLOWING ECADRS (I.E., 1DNADR'S): Q, 400, 1000, 1400, 2000, 2400, 3000, 3400.
|
# (A) CANNOT CONTAIN THE FOLLOWING ECADRS(I.E. 1DNADR'S): 0, 400, 1000, 1400, 2000, 2400, 3000, 3400.
|
||||||
# (B) CAN CONTAIN ONLY 1DNADR'S
|
# (B) CAN CONTAIN ONLY 1DNADR'S
|
||||||
# 2. ALL DOWNLINKED DATA (EXCEPT CHANNELS) IS PICKED UP BY A DCA SO DOWNLINK LISTS CANNOT CONTAIN THE
|
#
|
||||||
# EQUIVALENT OF THE FOLLOWING ECADRS (I.E., IDNADRS): 377, 777, 1377, 1777, 2377, 2777, 3377, 3777.
|
# 2. ALL DOWNLINKED DATA(EXCEPT CHANNELS) IS PICKED UP BY A <DCA<SO DOWNLINK LISTS CANNOT CONTAIN THE
|
||||||
# (NOTE: TE TERM `EQUIVALENT' MEANT THAT THE IDNADR TO 6DNADR WILL BE PROCESSED LIKE 1 TO 6 ECADRS)
|
# EQUIVALENT OF THE FOLLOWING ECADRS(I.E. IDNADRS): 377, 777, 1377, 1777, 2377, 2777, 3377, 3777.
|
||||||
|
#
|
||||||
|
# (NOTE: THE TERM EQUIVALENT ' MEANT THAT THE IDNADR TO 6DNADR WILL BE PROCESSED LIKE 1 TO 6 ECADRS)
|
||||||
|
#
|
||||||
# 3. CONTROL LISTS AND SUBLISTS CANNOT HAVE ENTRIES = OCTAL 00000 OR OCTAL 77777
|
# 3. CONTROL LISTS AND SUBLISTS CANNOT HAVE ENTRIES = OCTAL 00000 OR OCTAL 77777
|
||||||
# Page 1096
|
# Page 1096
|
||||||
# 4. THE `1DNADR TIME2' WHICH WILL CAUSE THE DOWNLINT PROGRAM TO SET THE WORDER CODE TO 3 MUST APPEAR IN THE
|
# 4. THE '1DNADR TIME2' WHICH WILL CAUSE THE DOWNLINK PROGRAM TO SET THE WORDER CODE TO 3 MUST APPEAR IN THE
|
||||||
# CONTROL SECTION OF THE DOWNLIST.
|
# CONTROL SECTION OF THE DOWNLIST.
|
||||||
# 5. `DNCHAN 0' CANNOT BE USED.
|
#
|
||||||
# 6. `DNPTR 0' CANNOT BE USED.
|
# 5. 'DNCHAN 0' CANNOT BE USED.
|
||||||
|
#
|
||||||
|
# 6. 'DNPTR 0' CANNOT BE USED.
|
||||||
|
#
|
||||||
# 7. DNPTR CANNOT APPEAR IN A SUBLIST.
|
# 7. DNPTR CANNOT APPEAR IN A SUBLIST.
|
||||||
#
|
#
|
||||||
# EBANK SETTINGS
|
|
||||||
# IN THE PROCESS OF SETTING THE EBANK (WHEN PICKING UP DOWNLINK DATA) THE DOWN TELEMETRY PROGRAM PUTS
|
|
||||||
# `GARBAGE' INTO BITS15-12 OF EBANK. HUGH BLAIR-SMITH WARNS US THAT BITS15-12 OF EBANK MAY BECOME
|
|
||||||
# SIGNIFICANT SOMEDAY IN THE FUTURE. IF/WHEN THAT HAPPENS, THE PROGRAM SHOULD INSURE (BY MASKING ETC.)
|
|
||||||
# THAT BITS 15-12 OF EBANK ARE ZERO.
|
|
||||||
#
|
#
|
||||||
# INITIALIZATION REQUIRED -- TO INTERRUPT CURRENT LIST AND START A NEW ONE.
|
#
|
||||||
|
#
|
||||||
|
# EBANK SETTINGS
|
||||||
|
# IN THE PROCESS OF SETTING THE EBANK(WHEN PICKING UP DOWNLINK DATA) THE DOWN TELEMETRY PROGRAM PUTS
|
||||||
|
# 'GARBAGE' INTO BITS15-12 OF EBANK. HUGH BLAIR-SMITH WARNS US THAT BITS15-12 OF EBANK MAY BECOME
|
||||||
|
# SIGNIFICANT SOMEDAY IN THE FUTURE. IF/WHEN THAT HAPPENS, THE PROGRAM SHOULD INSURE(BY MASKING ETC.)
|
||||||
|
# THAT BITS 15-12 OF EBANK ARE ZERO.
|
||||||
|
# INITIALIZATION REQUIRED- TO INTERRUPT CURRENT LIST AND START A NEW ONE..
|
||||||
# 1. ADRES OF DOWNLINK LIST INTO DNLSTADR
|
# 1. ADRES OF DOWNLINK LIST INTO DNLSTADR
|
||||||
# 2. NEGONE INTO SUBLIST
|
# 2. NEGONE INTO SUBLIST
|
||||||
# 3. NEGONE INTO DNECADR
|
# 3. NEGONE INTO DNECADR
|
||||||
@ -174,19 +170,19 @@
|
|||||||
DODOWNTM TS BANKRUPT
|
DODOWNTM TS BANKRUPT
|
||||||
EXTEND
|
EXTEND
|
||||||
QXCH QRUPT # SAVE Q
|
QXCH QRUPT # SAVE Q
|
||||||
CA BIT7 # SET WORD ORDER CODE TO 1. EXCEPTION: AT
|
CA BIT7 # SET WORD ORDER CODE TO 1. EXCEPTION- AT
|
||||||
EXTEND # THE BEGINNING OF EACH LIST THE WORD
|
EXTEND # THE BEGINNING OF EACH LIST THE WORD
|
||||||
WOR CHAN13 # CODE WILL BE SET BACK TO 0.
|
WOR CHAN13 # CODE WILL BE SET BACK TO 0.
|
||||||
TC DNTMGOTO # GOTO APPROPRIATE PHASE OF PROGRAM
|
TC DNTMGOTO # GO TO APPROPRIATE PHASE OF PROGRAM
|
||||||
|
|
||||||
DNPHASE1 CA NEGONE # INITIALIZE ALL CONTROL WORDS
|
DNPHASE1 CA NEGONE # INITIALIZE ALL CONTROL WORDS
|
||||||
TS SUBLIST # WORDS TO MINUS ONE
|
TS SUBLIST # WORDS TO MINUS ONE
|
||||||
TS DNECADR
|
TS DNECADR
|
||||||
CA LDNPHAS2 # SET DNTMGOTO = 0 ALL SUSEQUENT DOWRUPTS
|
CA LDNPHAS2 # SET DNTMGOTO =0 ALL SUBSEQUENT DOWNRUPTS
|
||||||
TS DNTMGOTO # GO TO DNPHASE2
|
TS DNTMGOTO # GO TO DNPHASE2
|
||||||
TCF NEWLIST
|
TCF NEWLIST
|
||||||
DNPHASE2 CCS DNECADR # SENDING OF DATA IN PROGRESS
|
DNPHASE2 CCS DNECADR # SENDING OF DATA IN PROGRESS
|
||||||
DODNADR TC FETCH2WD # YES -- THEN FETCH THE NEXT 2 SP WORDS
|
DODNADR TC FETCH2WD # YES - THEN FETCH THE NEXT 2 SP WORDS
|
||||||
MINTIME2 -1DNADR TIME2 # NEGATIVE OF TIME2 1DNADR
|
MINTIME2 -1DNADR TIME2 # NEGATIVE OF TIME2 1DNADR
|
||||||
TCF +1 # (ECADR OF 3776 + 74001 = 77777)
|
TCF +1 # (ECADR OF 3776 + 74001 = 77777)
|
||||||
|
|
||||||
@ -224,11 +220,11 @@ SETWO TC WOZERO # GO SET WORD ORDER CODE TO ZERO.
|
|||||||
+2 AD MINB1314 # IS THIS A REGULAR DNADR?
|
+2 AD MINB1314 # IS THIS A REGULAR DNADR?
|
||||||
EXTEND
|
EXTEND
|
||||||
BZMF FETCH2WD # YES. (A MUST NEVER BE ZERO)
|
BZMF FETCH2WD # YES. (A MUST NEVER BE ZERO)
|
||||||
AD MINB12 # NO. IS IT A POINTER (DNPTR) OR A
|
AD MINB12 # NO- IS IT A POINTER (DNPTR) OR A
|
||||||
EXTEND # CHANNEL(DNCHAN)
|
EXTEND # CHANNEL(DNCHAN)
|
||||||
BZMF DODNPTR # IT'S A POINTER. (A MUST NEVER BE ZERO)
|
BZMF DODNPTR # IT'S A POINTER. (A MUST NEVER BE ZERO)
|
||||||
|
|
||||||
DODNCHAN TC 6 # (EXECUTED AS EXTEND) IT'S A CHANNEL
|
DODNCHAN TC 6 # (EXECUTED AS EXTEND) IT S A CHANNEL
|
||||||
INDEX DNECADR
|
INDEX DNECADR
|
||||||
INDEX 0 -4000 # (EXECUTED AS READ)
|
INDEX 0 -4000 # (EXECUTED AS READ)
|
||||||
TS L
|
TS L
|
||||||
@ -252,16 +248,16 @@ DODNPTR INDEX DNECADR # DNECADR CONTAINS ADRES OF SUBLIST
|
|||||||
CA DNECADR # NO, IT IS A REGULAR SUBLIST.
|
CA DNECADR # NO, IT IS A REGULAR SUBLIST.
|
||||||
TCF DOSUBLST # A MUST NOT BE ZERO.
|
TCF DOSUBLST # A MUST NOT BE ZERO.
|
||||||
|
|
||||||
XCH DNECADR # YES. IT IS A SNAPSHOT SUBLIST.
|
XCH DNECADR # YES, IT IS A SNAPSHOT SUBLIST.
|
||||||
TS SUBLIST # C(DNECADR) INTO SUBLIST
|
TS SUBLIST # C(DNECADR) INTO SUBLIST
|
||||||
CAF ZERO # A INTO A
|
CAF ZERO # A INTO A
|
||||||
XCH TMINDEX # (NOTE: TMINDEX = DNECADR)
|
XCH TMINDEX # (NOTE.. TMINDEX = DNECADR)
|
||||||
|
|
||||||
# THE FOLLOWING CODING (FROM SNAPLOOP TO SNAPEND) IS FOR THE PURPOSE OF TAKING A SNAPSHOT OF 12 DP REGISTERS.
|
# THE FOLLOWING CODING (FROM SNAPLOOP TO SNAPEND)IS FOR THE PURPOSE OF TAKING A SNAPSHOT OF 12 DP REGISTERS.
|
||||||
# THIS IS DONE BY SAVING 11 DP REGISTERS IN DNTMBUFF AND SENDING THE FIRST DP WORD IMMEDIATELY.
|
# THIS IS DONE BY SAVING 11 DP REGISTERS IN DNTMBUFF AND SENDING THE FIRST DP WORD IMMEDIATELY.
|
||||||
# THE SNAPSHOT PROCESSING IS THE MOST TIME CONSUMING AND THEREFORE THE CODING AND LIST STRUCTURE WERE DESIGNED
|
# THE SNAPSHOT PROCESSING IS THE MOST TIME CONSUMING AND THEREFORE THE CODING AND LIST STRUCTURE WERE DESIGNED
|
||||||
# TO MINIMIZE TIME. THE TIME OPTIMIZATION RESULTS IN RULES UNIQUE TO THE SNAPSHOT PORTION OF THE DOWNLIST.
|
# TO MINIMIZE TIME. THE TIME OPTIMIZATION RESULTS IN RULES UNIQUE TO THE SNAPSHOT PORTION OF THE DOWNLIST.
|
||||||
# THESE RULES ARE ......
|
# THESE RULES ARE......
|
||||||
# 1. ONLY 1DNADR'S CAN APPEAR IN THE SNAPSHOT SUBLIST
|
# 1. ONLY 1DNADR'S CAN APPEAR IN THE SNAPSHOT SUBLIST
|
||||||
# 2. THE 1DNADR'S CANNOT REFER TO THE FIRST LOCATION IN ANY BANK.
|
# 2. THE 1DNADR'S CANNOT REFER TO THE FIRST LOCATION IN ANY BANK.
|
||||||
|
|
||||||
@ -285,7 +281,7 @@ LDNPHAS2 GENADR DNPHASE2
|
|||||||
TS SUBLIST # YES, LAST. SAVE A.
|
TS SUBLIST # YES, LAST. SAVE A.
|
||||||
CA NEGONE # SET DNECADR AND
|
CA NEGONE # SET DNECADR AND
|
||||||
TS DNECADR # SUBLIST POINTERS
|
TS DNECADR # SUBLIST POINTERS
|
||||||
XCH SUBLIST # TO NEGATIVE VALUES
|
XCH SUBLIST # TO NEGATIVE VALUES.
|
||||||
TS EBANK
|
TS EBANK
|
||||||
MASK LOW8
|
MASK LOW8
|
||||||
EXTEND
|
EXTEND
|
||||||
@ -313,14 +309,14 @@ DOSUBLST TS SUBLIST # SET SUBLIST POINTER
|
|||||||
NEXTINSL INDEX SUBLIST
|
NEXTINSL INDEX SUBLIST
|
||||||
0 0 # = CA SSSS (SSSS = NEXT ENTRY IN SUBLIST)
|
0 0 # = CA SSSS (SSSS = NEXT ENTRY IN SUBLIST)
|
||||||
CCS A # IS IT THE END OF THE SUBLIST
|
CCS A # IS IT THE END OF THE SUBLIST
|
||||||
INCR SUBLIST # NO --
|
INCR SUBLIST # NO-
|
||||||
TCF +4
|
TCF +4
|
||||||
TS SUBLIST # SAVE A.
|
TS SUBLIST # SAVE A.
|
||||||
CA NEGONE # SET SUBLIST TO MINUS
|
CA NEGONE # SET SUBLIST TO MINUS
|
||||||
XCH SUBLIST # RETRIEVE A.
|
XCH SUBLIST # RETRIEVE A.
|
||||||
+4 INCR A
|
+4 INCR A
|
||||||
TS DNECADR # SAVE DNADR
|
TS DNECADR # SAVE DNADR
|
||||||
TCF SETWO +2 # GO USE COMMON CODING (PROBLEMS WOULD
|
TCF SETWO +2 # GO USE COMMON CODING(PROBLEMS WOULD
|
||||||
# OCCUR IF THE PROGRAM ENCOUNTERED A
|
# OCCUR IF THE PROGRAM ENCOUNTERED A
|
||||||
# DNPTR NOW)
|
# DNPTR NOW)
|
||||||
|
|
||||||
@ -337,65 +333,55 @@ CTLIST EQUALS LDATALST
|
|||||||
SUBLIST EQUALS DNQ
|
SUBLIST EQUALS DNQ
|
||||||
|
|
||||||
# Page 1100
|
# Page 1100
|
||||||
# SUBROUTINE NAME -- DNDUMP
|
# SUBROUTINE NAME- DNDUMP
|
||||||
#
|
# FUNCTIONAL DESCRIPTION - TO SEND(DUMP) ALL ERASABLE STORAGE 'N' TIMES.(N = 1 TO 4). BANKS ARE SENT ONE AT A TIME
|
||||||
# FUNCTIONAL DESCRIPTION -- TO SEND (DUMP) ALL 8 BANKS OF ERASABLE STORAGE TWICE. BANKS ARE SENT ONE AT A TIME
|
|
||||||
# EACH BANK IS PRECEDED BY AN ID WORD, SYNCH BITS, ECADR AND TIME1 FOLLOWED BY THE 256D WORDS OF EACH
|
# EACH BANK IS PRECEDED BY AN ID WORD, SYNCH BITS, ECADR AND TIME1 FOLLOWED BY THE 256D WORDS OF EACH
|
||||||
# EBANK. EBANKS ARE DUMPED IN ORDER (I.E., EBANK 0 FIRST, THEN EBANK1 ETC.)
|
# EBANK. EBANKS ARE DUMPED IN ORDER(I.E. EBANK 0 FIRST, THEN EBANK1 ETC.)
|
||||||
#
|
# CALLING SEQUENCE- THE GROUND OR ASTRONAUT BY KEYING V74E CAN INITIALIZE THE DUMP.
|
||||||
# CALLING SEQUENCE -- THE GROUND OR ASTRONAUT BY KEYING V74E CAN INITIALIZE THE DUMP.
|
|
||||||
# AFTER KEYING IN V74E THE CURRENT DOWNLIST WILL BE IMMEDIATELY TERMINATED AND THE DOWNLINK ERASABLE DUMP
|
# AFTER KEYING IN V74E THE CURRENT DOWNLIST WILL BE IMMEDIATELY TERMINATED AND THE DOWNLINK ERASABLE DUMP
|
||||||
# WILL BEGIN.
|
# WILL BEGIN.
|
||||||
#
|
|
||||||
# ONCE INITIATED THE DOWNLINK ERASABLE DUMP CAN BE TERMINATED (AND INTERRUPTED DOWNLIST REINSTATED) ONLY
|
# ONCE INITIATED THE DOWNLINK ERASABLE DUMP CAN BE TERMINATED (AND INTERRUPTED DOWNLIST REINSTATED) ONLY
|
||||||
# BY THE FOLLOWING:
|
# BY THE FOLLOWING:
|
||||||
#
|
|
||||||
# 1. A FRESH START
|
# 1. A FRESH START
|
||||||
# 2. COMPLETION OF ALL DOWNLINK DUMPS REQUESTED (ACCORDING TO BITS SET IN DUMPCNT). NOTE THAT DUMPCNT
|
# 2. COMPLETION OF ALL DOWNLINK DUMPS REQUESTED (ACCORDING TO BITS SET IN DUMPCNT). NOTE THAT DUMPCNT
|
||||||
# CAN BE ALTERED BY A V21N01.
|
# CAN BE ALTERED BY A V21N01.
|
||||||
# 3. AND INVOLUNTARILY BY A RESTART.
|
# 3. AND INVOLUNTARILY BY A RESTART.
|
||||||
#
|
# NORMAL EXIT MODE- TCF DNPHASE1
|
||||||
# NORMAL EXIT MODE -- TCF DNPHASE1
|
# ALARM OR ABORT MODE- NONE
|
||||||
#
|
# *SUBROUTINES CALLED- NONE.
|
||||||
# ALARM OR ABORT MODE -- NONE
|
|
||||||
#
|
|
||||||
# *SUBROUTINES CALLED -- NONE
|
|
||||||
#
|
|
||||||
# ERASABLE INITIALIZATION REQUIRED --
|
# ERASABLE INITIALIZATION REQUIRED --
|
||||||
# DUMPCNT OCT 20000 IF 4 COMPLETE ERASABLE DUMPS ARE DESIRED
|
# DUMPCNT OCT 20000 IF 4 COMPLETE ERASABLE DUMPS ARE DESIRED
|
||||||
# DUMPCNT OCT 10000 IF 2 COMPLETE ERASABLE DUMPS ARE DESIRED
|
# DUMPCNT OCT 10000 IF 2 COMPLETE ERASABLE DUMPS ARE DESIRED
|
||||||
# DUMPCNT OCT 04000 IF 1 COMPLETE ERASABLE DUMP IS DESIRED
|
# DUMPCNT OCT 04000 IF 1 COMPLETE ERASABLE DUMP IS DESIRED
|
||||||
#
|
# DEBRIS- DUMPLOC, DUMPSW, DNTMGOTO, EBANK AND CENTRAL REGISTERS
|
||||||
# DEBRIS -- DUMPLOC, DUMPSW, DNTMGOTO, EBANK, AND CENTRAL REGISTERS
|
# TIMING- TIME (IN SECS) = ((NO.DUMPS)*(NO.EBANKS)* (WDSPEREBANK + NO.IDWDS)) / NO.WDSPERSEC
|
||||||
#
|
# TIME (IN SECS) = ( 4 )*( 8 )* ( 256 + 4 ) / 100
|
||||||
# TIMING -- TIME (IN SECS) = ((NO.DUMPS)*(NO.EBANKS)*(WDSPEREBANK + NO.IDWDS)) / NO.WDSPERSEC
|
|
||||||
# TIME (IN SECS) = ( 4 )*( 8 )*( 256 + 4 ) / 100
|
|
||||||
# THUS TIME (IN SECS TO SEND DUMP OF ERASABLE 4 TIMES VIA DOWNLINK) = 83.2 SECONDS
|
# THUS TIME (IN SECS TO SEND DUMP OF ERASABLE 4 TIMES VIA DOWNLINK) = 83.2 SECONDS
|
||||||
#
|
#
|
||||||
# STRUCTURE OF ONE EBANK AS IT IS SENT BY DOWNLINK PROGRAM --
|
# STRUCTURE OF ONE EBANK AS IT IS SENT BY DOWNLINK PROGRAM-
|
||||||
# (REMINDER -- THIS ONLY DESCRIBES ONE OF THE 8 EBANKS X 4 (DUMPS) = 32 EBANKS WHICH WILL BE SENT BY DNDUMP)
|
# (REMINDER-THIS ONLY DESCRIBES ONE OF THE 8 EBANKS X 4 (DUMPS) = 32 EBANKS WHICH WILL BE SENT BY DNDUMP)
|
||||||
#
|
|
||||||
# DOWNLIST W
|
# DOWNLIST W
|
||||||
# WORD TAKEN FROM CONTENTS OF EXAMPLE O COMMENTS
|
# WORD TAKEN FROM CONTENTS OF EXAMPLE O COMMENTS
|
||||||
|
#
|
||||||
# 1 ERASID 0177X 0 DOWNLIST I.D. FOR DOWNLINK ERASABLE DUMP (X=7 CSM, 6 LM)
|
# 1 ERASID 0177X 0 DOWNLIST I.D. FOR DOWNLINK ERASABLE DUMP (X=7 CSM, 6 LM)
|
||||||
# 2 LOWIDCOD 77340 1 DOWNLINK SYNCH BITS. (SAME ONE USED IN ALL OTHER DOWNLISTS)
|
# 2 LOWIDCOD 77340 1 DOWNLINK SYNCH BITS.(SAME ONE USED IN ALL OTHER DOWNLISTS)
|
||||||
# 3 DUMPLOC 13400 1 (SEE NOTES ON DUMPLOC) 1 = 3RD ERAS DUMP, 3400=ECADR OF 5TH WD
|
# 3 DUMPLOC 13400 1 (SEE NOTES ON DUMPLOC)1= 3RD ERAS DUMP, 3400=ECADR OF 5TH WD
|
||||||
# 4 TIME1 14120 1 TIME IN CENTISECONDS
|
# 4 TIME1 14120 1 TIME IN CENTISECONDS
|
||||||
# 5 FIRST WORD OF EBANK X 03400 1 IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1400 (ECADR 3400)
|
# 5 FIRST WORD OF EBANK X 03400 1 IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1400 (ECADR 3400)
|
||||||
# 6 2ND WORD OF EBANK X 00142 1 IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1401 (ECADR 3401)
|
# 6 2ND WORD OF EBANK X 00142 1 IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1401 (ECADR 3401)
|
||||||
# 7. 3RD WORD OF EBANK X 00142 1 IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1402 (ECADR 3402)
|
# 7. 3RD WORD OF EBANK X 00142 1 IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1402 (ECADR 3402)
|
||||||
# .
|
# . 1
|
||||||
# .
|
# . 1
|
||||||
# .
|
# . 1
|
||||||
# 260D 256TH WORD OF EBANK X 03777 1 IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1777 (ECADR 3777)
|
# 260D 256TH WORD OF EBANK X 03777 1 IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1777 (ECADR 3777)
|
||||||
#
|
#
|
||||||
# NOTE -- DUMPLOC CONTAINS THE COUNTER AND ECADR FOR EACH WORD BEING SENT.
|
# NOTE- DUMPLOC CONTAINS THE COUNTER AND ECADR FOR EACH WORD BEING SENT.
|
||||||
# THE BIT STRUCTURE OF DUMPLOC IS FOLLOW --
|
# THE BIT STRUCTURE OF DUMPLOC IS FOLLOWS--
|
||||||
# X = NOT USED
|
# X = NOT USED
|
||||||
# X ABC EEE RRRRRRRR ABC = ERASABLE DUMP COUNTER (I.E. ABC = 0,1,2, OR 3 WHICH MEANS THAT
|
# X ABC EEE RRRRRRRR ABC = ERASABLE DUMP COUNTER(I.E. ABC = 0,1,2, OR 3 WHICH MEANS THAT
|
||||||
# COMPLETE ERASABLE DUMP NUMBER 1,2,3, OR 4 RESPECTIVELY IS IN PROGRESS)
|
# COMPLETE ERASABLE DUMP NUMBER 1,2,3, OR 4 RESPECTIVELY IS IN PROGRESS)
|
||||||
# EEE = EBANK BITS
|
# EEE = EBANK BITS
|
||||||
# RRRRRRRR = RELATIVE ADDRESS WITHIN AN EBANK
|
# RRRRRRRR = RELATIVE ADDRESS WITHIN AN EBANK.
|
||||||
|
|
||||||
# Page 1101
|
# Page 1101
|
||||||
DNDUMPI CA ZERO # INITIALIZE DOWNLINK
|
DNDUMPI CA ZERO # INITIALIZE DOWNLINK
|
||||||
@ -415,14 +401,14 @@ DNDUMP CA TWO # INCREMENT ECADR IN DUMPLOC
|
|||||||
ADS DUMPLOC # TO NEXT DP WORD TO BE
|
ADS DUMPLOC # TO NEXT DP WORD TO BE
|
||||||
MASK LOW8 # DUMPED AND SAVE IT.
|
MASK LOW8 # DUMPED AND SAVE IT.
|
||||||
CCS A # IS THIS THE BEGINNING OF A NEW EBANK
|
CCS A # IS THIS THE BEGINNING OF A NEW EBANK
|
||||||
TCF DNDUMP2 # NO -- THEN CONTINUE DUMPING
|
TCF DNDUMP2 # NO- THEN CONTINUE DUMPING
|
||||||
CA DUMPLOC # YES -- IS THIS THE END OF THE
|
CA DUMPLOC # YES- IS THIS THE END OF THE
|
||||||
MASK DUMPCNT # N-TH(N = 1 TO 4) COMPLETE ERASABLE
|
MASK DUMPCNT # N TH(N = 1 TO 4) COMPLETE ERASABLE
|
||||||
MASK PRIO34 # DUMP(BIT14 FOR 4, BIT13 FOR 2 OR BIT12
|
MASK PRIO34 # DUMP(BIT14 FOR 4, BIT13 FOR 2 OR BIT12
|
||||||
CCS A # FOR 1 COMPLETE ERASABLE DUMP(S)).
|
CCS A # FOR 1 COMPLETE ERASABLE DUMP(S)).
|
||||||
TCF DNPHASE1 # YES -- SEND DOWNLIST AGAIN
|
TCF DNPHASE1 # YES- START SENDING INTERRUPTED DOWNLIST
|
||||||
# AGAIN
|
# AGAIN
|
||||||
TCF DNDUMPI +2 # NO -- GO BACK AND INITIALZE NEXT BANK
|
TCF DNDUMPI +2 # NO- GO BACK AND INITIALIZE NEXT BANK
|
||||||
|
|
||||||
DNDUMP1 CA LDNDUMP # SET DNTMGOTO
|
DNDUMP1 CA LDNDUMP # SET DNTMGOTO
|
||||||
TS DNTMGOTO # FOR WORDS 3 TO 256D OF CURRENT EBANK
|
TS DNTMGOTO # FOR WORDS 3 TO 256D OF CURRENT EBANK
|
||||||
@ -431,7 +417,7 @@ DNDUMP2 CA DUMPLOC
|
|||||||
TS EBANK # SET EBANK
|
TS EBANK # SET EBANK
|
||||||
MASK LOW8 # ISOLATE RELATIVE ADDRESS.
|
MASK LOW8 # ISOLATE RELATIVE ADDRESS.
|
||||||
TS Q # (NOTE: MASK INSTRUCTION IS USED TO PICK
|
TS Q # (NOTE: MASK INSTRUCTION IS USED TO PICK
|
||||||
CA NEG0 # UP ERASABLE REGISTERS TO THAT EDITING
|
CA NEG0 # UP ERASABLE REGISTERS SO THAT EDITING
|
||||||
TS L # REGISTERS 20-23 WILL NOT BE ALTERED.)
|
TS L # REGISTERS 20-23 WILL NOT BE ALTERED.)
|
||||||
INDEX Q
|
INDEX Q
|
||||||
EBANK= 1400 # PICK UP LOW ORDER REGISTER OF PAIR
|
EBANK= 1400 # PICK UP LOW ORDER REGISTER OF PAIR
|
||||||
@ -442,16 +428,14 @@ DNDUMP2 CA DUMPLOC
|
|||||||
EBANK= DNTMBUFF
|
EBANK= DNTMBUFF
|
||||||
TCF DNTMEXIT # GO SEND THEM
|
TCF DNTMEXIT # GO SEND THEM
|
||||||
|
|
||||||
SENDID EXTEND # ** ENTRANCE USED BY ERASABLE DUMP PROG. **
|
|
||||||
QXCH DNTMGOTO # SET DNTMGOTO SO NEXT TIME PROG WILL GO
|
|
||||||
CAF ERASID # TO LOCATION FOLLOWING `TC SENDID'
|
|
||||||
|
|
||||||
TS L # ** ENTRANCE USED BY REGULAR DOWNLINK PG **
|
SENDID EXTEND # **ENTRANCE USED BY ERASABLE DUMP PROG.**
|
||||||
|
QXCH DNTMGOTO # SET DNTMGOTO SO NEXT TIME PROG WILL GO
|
||||||
|
CAF ERASID # TO LOCATION FOLLOWING :TC SENDID:
|
||||||
|
|
||||||
|
TS L # **ENTRANCE USED BY REGULAR DOWNLINK PG**
|
||||||
# Page 1102
|
# Page 1102
|
||||||
TC WOZERO # GO SET WORD ORDER CODE TO ZERO
|
TC WOZERO # GO SET WORD ORDER CODE TO ZERO
|
||||||
CAF LOWIDCOD # PLACE SPECIAL ID CODE INTO L
|
CAF LOWIDCOD # PLACE SPECIAL ID CODE INTO L
|
||||||
XCH L # AND ID BACK INTO A
|
XCH L # AND ID BACK INTO A
|
||||||
TCF DNTMEXIT # SEND DOWNLIST ID CODE(S).
|
TCF DNTMEXIT # SEND DOWNLIST ID CODE(S).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user