From 98faa4c43dff6319f96a789977a9f18455732f74 Mon Sep 17 00:00:00 2001 From: Glenn Dwiyatcita Date: Thu, 2 May 2019 16:04:08 +0200 Subject: [PATCH] Proof DOWN-TELEMETRY_PROGRAM #201 (#380) * 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 --- Comanche055/DOWN-TELEMETRY_PROGRAM.agc | 294 ++++++++++++------------- 1 file changed, 139 insertions(+), 155 deletions(-) diff --git a/Comanche055/DOWN-TELEMETRY_PROGRAM.agc b/Comanche055/DOWN-TELEMETRY_PROGRAM.agc index cd03a71..7852d3e 100644 --- a/Comanche055/DOWN-TELEMETRY_PROGRAM.agc +++ b/Comanche055/DOWN-TELEMETRY_PROGRAM.agc @@ -32,69 +32,56 @@ # information. Please report any errors to info@sandroid.org. # Page 1093 -# PROGRAM NAME -- DOWN TELEMETRY PROGRAM -# MOD NO. -- 0 TO COMPLETELY REWRITE THE DOWN TELEMETRY PROGRAM AND DOWNLINK ERASABLE DUMP PROGRAM FOR THE +# PROGRAM NAME- DOWN TELEMETRY PROGRAM +# 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. # 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 # OF DOWN TELEMETRY DATA. -# MOD BY -- KILROY, SMITH, DEWITT -# DATE -- 02 OCT 67 -# AUTHORS -- KILROY, SMITH, DWWITT, DEWOLF, FAGIN -# LOG SECTION -- DOWN-TELEMETRY PROGRAM -# -# FUNCTIONAL DESCRIPTION -- THIS ROUTINE IS INITIATED BY TELEMETRY END +# MOD BY- KILROY, SMITH, DEWITT +# DATE- 02OCT67 +# AUTHORS- KILROY, SMITH, DWWITT, DEWOLF, FAGIN +# LOG SECTION- DOWN-TELEMETRY PROGRAM +# FUNCTIONAL DESCRIPTION- THIS ROUTINE IS INITIATED BY TELEMETRY END # 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 # AGC DATA TO BE TRANSMITTED DOWNLINK AND LOADS IT INTO OUTPUT # CHANNELS 34 AND 35. THE INFORMATION IS THEN GATED OUT FROM THE # LGC IN SERIAL FASHION. -# # 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 # 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 # RESULT OF A DOWNRUPT. CONTROL IS RETURNED VIA TCF RESUME WHICH # IN EFFECT IS A RESUME. -# -# SUBROUTINES CALLED -- NONE -# -# NORMAL EXIT MODE -- TCF RESUME -# -# ALARM OR ABORT EXIT MODE -- NONE -# +# SUBROUTINES CALLED- NONE +# NORMAL EXIT MODE- TCF RESUME +# ALARM OR ABORT EXIT MODE- NONE # RESTART PROTECTION: -# 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 +# 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 # 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. -# # ALSO OF INTEREST IS THE FACT THAT ON A RESTART THE AGC WILL ZERO DOWNLINK CHANNELS 13, 34 AND 35. -# # DOWNLINK LIST SELECTION: # THE APPROPRIATE DOWNLINK LISTS ARE SELECTED BY THE FOLLOWING: -# 1. FRESH START -# 2. V37EXXE WHERE XX = THE MAJOR MODE BEING SELECTED. -# 3. UPDATE PROGRAM (P27) -# 4. NON-V37 SELECTABLE TYPE PROGRAMS (E.G., AGS INITIALIZATION (SUNDANCE, LUMINARY) AND P61-P62 -# TRANSITIONS (COLOSSUS) ETC.). -# +# 1. FRESH START +# 2. V37EXXE WHERE XX = THE MAJOR MODE BEING SELECTED. +# 3. UPDATE PROGRAM(P27) +# 4. NON-V37 SELECTABLE TYPE PROGRAMS(E.G. AGS INITIALIZATION(SUNDANCE,LUMINARY) AND P61-P62 +# TRANSITION(COLOSSUS) ETC.). # DOWNLINK LIST RULES AND LIMITATIONS: -# READ SECTION(S) WHICH FOLLOW `DEBRIS' WRITEUP. -# -# OUTPUT -- EVERY 2 SECONDS 100 DOUBLE PRECISION WORDS (I.E., 200 LGC +# READ SECTION(S) WHICH FOLLOW 'DEBRIS' WRITEUP. +# OUTPUT- EVERY 2 SECONDS 100 DOUBLE PRECISION WORDS(I.E. 200 LGC # COMPUTER WORDS) ARE TRANSMITTED VIA DOWNLINK. -# -# ERASABLE INITIALIZATION REQUIRED -- NONE -# `DNTMGOTO' AND `DNLSTADR' ARE INITIALIZED BY THE FRESH START PROGRAM. -# -# DEBRIS (ERASABLE LOCATIONS DESTROYED BY THIS PROGRAM) -- -# LDATALST, DNTMBUFF TO DNTMBUFF +21D, TMINDEX, DNQ. +# ERASABLE INITIALIZATION REQUIRED- NONE +# 'DNTMGOTO' AND 'DNLSTADR' ARE INITIALIZED BY THE FRESH START PROGRAM. +# DEBRIS(ERASABLE LOCATIONS DESTROYED BY THIS PROGRAM)- +# LDATALST,DNTMBUFF TO DNTMBUFF +21D,TMINDEX,DNQ. # Page 1094 # (No source on this page of the original assembly listing.) @@ -103,62 +90,71 @@ # RECEIPT OF AN ENDPULSE FROM THE SPACECRAFT TELEMETRY PROGRAMMER. # # NOTES REGARDING DOWNLINK LISTS ASSOCIATED WITH THIS PROGRAM: -# 1. DOWNLISTS. DOWNLISTS MUST BE COMPILED IN THE SAME BANK AS THE -# DOWN-TELEMETRY PROGRAM. THIS IS DONE FOR EASE OF CODING, FASTER -# EXECUTION. -# 2. EACH DOWNLINK LIST CONSISTS OF A CONTROL LIST AND A NUMBER OF -# SUBLISTS. -# 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 -# CODED ONLY ONCE FOR THE APPLICABLE DOWNLINK LISTS. -# 4. SNAPSHOT SUBLISTS REFER SPECIFICALLY TO HOMOGENEOUS DATA WHICH MUST BE -# SAVED IN A BUFFER DURING ONE DOWNRUPT. -# 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 -# IMMEDIATELY AFTER STORING THE OTHERS IN THE SNAPSHOT BUFFER. -# 6. ALL LISTS ARE COMBINATIONS OF CODED ERASABLE ADDRESS CONSTANTS -# CREATED FOR THE DOWNLIST PROGRAM. -# A. 1DNADR 1-WORD DOWNLIST ADDRESS. -# SAME AS ECADR, BUT USED WHEN THE WORD ADDRESSED IS THE LEFT -# HALF OF A DOUBLE-PRECISION WORD FOR DOWN TELEMETRY. -# B. 2DNADR - 6DNADR N-WORD DOWNLIST ADDRESS, N = 2 - 6. -# SAME AS 1DNADR, BUT WITH THE 4 UNUSED BITS OF THE ECADR FORMAT -# FILLED IN WITH 0001-0101. USED TO POINT TO A LIST OF N DOUBLE- -# PRECISION WORDS, STORED CONSECUTIVELY, FOR DOWN TELEMETRY. -# C. DNCHAN DOWNLIST CHANNEL ADDRESS. -# SAME AS 1DNADR, BUT WITH PREFIX BITS 0111. USED TO POINT TO -# A PAIR OF CHANNELS FOR DOWN TELEMETRY. -# D. DNPTR DOWN-TELEMETRY SUBLIST POINTER. -# 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. -# 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). -# 8. IN THE SNAPSHOT SUBLIST ONLY, THE DNADR'S CANNOT POINT TO THE FIRST WORD OF ANY EBANK. +# 1. DOWNLISTS. - DOWNLISTS MUST BE COMPILED IN THE SAME BANK AS THE +# DOWN-TELEMETRY PROGRAM. THIS IS DONE FOR EASE OF CODING, FASTER +# EXECUTION. +# 2. EACH DOWNLINK LIST CONSISTS OF A CONTROL LIST AND A NUMBER OF +# SUBLISTS. +# 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 +# CODED ONLY ONCE FOR THE APPLICABLE DOWNLINK LISTS. +# 4. SNAPSHOT SUBLISTS REFER SPECIFICALLY TO HOMOGENOUS DATA WHICH MUST BE +# SAVED IN A BUFFER DURING ONE DOWNRUPT. +# 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 +# IMMEDIATELY AFTER STORING THE OTHERS IN THE SNAPSHOT BUFFER. +# 6. ALL LISTS ARE COMBINATIONS OF CODED ERASABLE ADDRESS CONSTANTS +# CREATED FOR THE DOWNLIST PROGRAM. +# A. 1DNADR 1-WORD DOWNLIST ADDRESS. +# SAME AS ECADR, BUT USED WHEN THE WORD ADDRESSED IS THE LEFT +# HALF OF A DOUBLE-PRECISION WORD FOR DOWN TELEMETRY. +# B. 2DNADR - 6DNADR N-WORD DOWNLIST ADDRESS, N = 2 - 6. +# SAME AS 1DNADR, BUT WITH THE 4 UNUSED BITS OF THE ECADR FORMAT +# FILLED IN WITH 0001-0101. USED TO POINT TO A LIST OF N DOUBLE- +# PRECISION WORDS, STORED CONSECUTIVELY, FOR DOWN TELEMETRY. +# C. DNCHAN DOWNLIST CHANNEL ADDRESS. +# SAME AS 1DNADR, BUT WITH PREFIX BITS 0111. USED TO POINT TO +# A PAIR OF CHANNELS FOR DOWN TELEMETRY. +# D. DNPTR DOWN TELEMETRY SUBLIST POINTER. +# 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. +# 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). +# 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 # DONE) -# 1. SNAPSHOT DOWNLIST: -# (A) CANNOT CONTAIN THE FOLLOWING ECADRS (I.E., 1DNADR'S): Q, 400, 1000, 1400, 2000, 2400, 3000, 3400. -# (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. -# (NOTE: TE 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 +# +# 1. SNAPSHOT DOWNLIST: +# (A) CANNOT CONTAIN THE FOLLOWING ECADRS(I.E. 1DNADR'S): 0, 400, 1000, 1400, 2000, 2400, 3000, 3400. +# (B) CAN CONTAIN ONLY 1DNADR'S +# +# 2. ALL DOWNLINKED DATA(EXCEPT CHANNELS) IS PICKED UP BY A