From 33db89d305c636919aa3276a07d33eabf20aef7f Mon Sep 17 00:00:00 2001 From: y yam <25644062+sidemt@users.noreply.github.com> Date: Wed, 14 Oct 2020 02:53:32 +0900 Subject: [PATCH] Proof RCS_FAILURE_MONITOR #631 (#711) Co-authored-by: James Harris --- Luminary099/RCS_FAILURE_MONITOR.agc | 132 ++++++++++++++-------------- 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/Luminary099/RCS_FAILURE_MONITOR.agc b/Luminary099/RCS_FAILURE_MONITOR.agc index e9d0d25..625b04c 100644 --- a/Luminary099/RCS_FAILURE_MONITOR.agc +++ b/Luminary099/RCS_FAILURE_MONITOR.agc @@ -25,25 +25,25 @@ # 16:27 JULY 14, 1969 # Page 190 -# PROGRAM DESCRIPTION: +# PROGRAM DESCRIPTION # -# AUTHOR: J. S. MILLER +# AUTHOR: J S MILLER # -# MODIFIED 6 MARCH 1968 BY P. S. WEISSMAN TO SET UP JOB FOR 1/ACCS WHEN THE MASKS ARE CHANGED. +# MODIFIED 6 MARCH 1968 BY P S WEISSMAN TO SET UP JOB FOR 1/ACCS WHEN THE MASKS ARE CHANGED. # -# THIS ROUTINE IS ATTACHED TO T4RUPT, AND IS ENTERED EVERY 480 MS. ITS FUNCTION IS TO EXAMINE THE LOW 8 BITS +# THIS ROUTINE IS ATTACHED TO T4RUPT, AND IS ENTERED EVERY 480 MS. ITS FUNCTION IS TO EXAMINE THE LOW 8 BITS # OF CHANNEL 32 TO SEE IF ANY ISOLATION-VALVE CLOSURE BITS HAVE APPEARED OR DISAPPEARED (THE CREW IS WARNED OF JET # FAILURES BY LAMPS LIT BY THE GRUMMAN FAILURE-DETECTION CIRCUITRY; THEY MAY RESPOND BY OPERATING SWITCHES WHICH # ISOLATE PAIRS OF JETS FROM THE PROPELLANT TANKS AND SET BITS IN CHANNEL 32). IN THE EVENT THAT CHANNEL 32 BITS -# DIFFER FROM `PVALVEST', THE RECORD OF ACTIONS TAKEN BY THIS ROUTINE, THE APPROPRIATE BITS IN `CH5MASK' & -# `CH6MASK', USED BY THE DAP JET-SELECTION LOGIC, ARE UPDATED, AS IS `PVALVEST'. TO SPEED UP & SHORTEN THE +# DIFFER FROM 'PVALVEST', THE RECORD OF ACTIONS TAKEN BY THIS ROUTINE, THE APPROPRIATE BITS IN 'CH5MASK' & +# 'CH6MASK', USED BY THE DAP JET-SELECTION LOGIC, ARE UPDATED, AS IS 'PVALVEST'. TO SPEED UP & SHORTEN THE # ROUTINE, NO MORE THAN ONE CHANGE IS ACCEPTED PER ENTRY. THE HIGHEST-NUMBERED BIT IN CHANNEL 32 WHICH REQUIRES # ACTION IS THE ONE PROCESSED. # -# THE CODING IN THE FAILURE MONITOR HAS BEEN WRITTEN SO AS TO HAVE ALMOST COMPLETE RESTART PROTECTION. FOR -# EXAMPLE, NO ASSUMPTION IS MADE WHEN SETTING A `CH5MASK' BIT TO 1 THAT THE PREVIOUS STATE IS 0, ALTHOUGH IT OF +# THE CODING IN THE FAILURE MONITOR HAS BEEN WRITTEN SO AS TO HAVE ALMOST COMPLETE RESTART PROTECTION. FOR +# EXAMPLE, NO ASSUMPTION IS MADE WHEN SETTING A 'CH5MASK' BIT TO 1 THAT THE PREVIOUS STATE IS 0, ALTHOUGH IT OF # COURSE SHOULD BE. ONE CASE WHICH MAY BE SEEN TO EVADE PROTECTION IS THE OCCURRENCE OF A RESTART AFTER UPDATING -# ONE OR BOTH DAP MASK-WORDS BUT BEFORE UPDATING `PVALVEST', COUPLED WITH A CHANGE IN THE VALVE-BIT BACK TO ITS +# ONE OR BOTH DAP MASK-WORDS BUT BEFORE UPDATING 'PVALVEST', COUPLED WITH A CHANGE IN THE VALVE-BIT BACK TO ITS # FORMER STATE. THE CONSEQUENCE OF THIS IS THAT THE NEXT ENTRY WOULD NOT SEE THE CHANGE INCOMPLETELY INCORP- # ORATED BY THE LAST PASS (BECAUSE IT WENT AWAY AT JUST THE RIGHT TIME), BUT THE DAP MASK-WORDS WILL BE INCORRECT. # THIS COMBINATION OF EVENTS SEEMS QUITE REMOTE, BUT NOT IMPOSSIBLE UNLESS THE CREW OPERATES THE SWITCHES AT HALF- @@ -52,22 +52,21 @@ # # CALLING SEQUENCE: # -# TCF RCSMONIT # (IN INTERRUPT MODE, EVERY 480 MS.) +# TCF RCSMONIT (IN INTERRUPT MODE, EVERY 480 MS.) # -# EXIT: TCF RCSMONEX (ALL PATHS EXIT VIA SUCH AN INSTRUCTION) - +# EXIT: TCF RCSMONEX (ALL PATHS EXIT VIA SUCH AN INSTRUCTION) RCSMONEX EQUALS RESUME # ERASABLE INITIALIZATION REQUIRED: # -# VIA FRESH START: PVALVEST = +0 (ALL JETS ENABLED) -# CH5MASK,CH6MASK = +0 (ALL JETS OK) +# VIA FRESH START: PVALVEST = +0 (ALL JETS ENABLED) +# CH5MASK, CH6MASK = +0 (ALL JETS OK) # -# OUTPUT: CH5MASK & CH6MASK UPDATED (1'S WHERE JETS NOT TO BE USED, IN CHANNEL 5 & 6 FORMAT) -# PVALTEST UPDATED (1'S WHEN VALVE CLOSURES HAVE BEEN TRANSLATED INTO CH5MASK & CH6MASK; CHAN 32 FORMAT) -# JOB TO DO 1/ACCS. +# OUTPUT: CH5MASK & CH6MASK UPDATED (1'S WHERE JETS NOT TO BE USED, IN CHANNEL 5 & 6 FORMAT) +# PVALTEST UPDATED (1.5 WHEN VALVE CLOSURES HAVE BEEN TRANSLATED INTO CH5MASK & CH6MASK; CHAN 32 FORMAT) +# JOB TO DO 1/ACCS. # -# DEBRIS: A, L, AND Q AND DEBRIS OF NOVAC. +# DEBRIS: A, L, Q AND DEBRIS OF NOVAC. # # SUBROUTINE CALLED: NOVAC. @@ -83,91 +82,92 @@ RCSMONIT EQUALS RCSMON RCSMON CS ZERO EXTEND - RXOR CHAN32 # PICK UP + INVERT INVERTED CHANNEL 32. - MASK LOW8 # KEEP JET-FAIL BITS ONLY. + RXOR CHAN32 # PICK UP + INVERT INVERTED CHANNEL 32. + MASK LOW8 # KEEP JET-FAIL BITS ONLY. TS Q - CS PVALVEST # _ _ - MASK Q # FORM PC + PC. - TS L # (P = PREVIOUS ISOLATION VALVE STATE, - CS Q # C = CURRENT VALVE STATE (CH32)). + CS PVALVEST # - - + MASK Q # FORM PC + PC. + TS L # (P = PREVIOUS ISOLATION VALVE STATE, + CS Q # C = CURRENT VALVE STATE (CH 32)). MASK PVALVEST - ADS L # RESULT NZ INDICATES ACTION REQUIRED. + ADS L # RESULT NZ INDICATES ACTION REQUIRED. EXTEND - BZF RCSMONEX # QUIT IF NO ACTION REQUIRED. + BZF RCSMONEX # QUIT IF NO ACTION REQUIRED. EXTEND - MP BIT7 # MOVE BITS 8-1 OF A TO 14-7 OF L. - XCH L # ZERO TO L IN THE PROCESS. + MP BIT7 # MOVE BITS 8 - 1 OF A TO 14 - 7 OF L. + XCH L # ZERO TO L IN THE PROCESS. -3 INCR L - DOUBLE # BOUND TO GET OVERFLOW IN THIS LOOP, - OVSK # SINCE WE ASSURED INITIAL NZ IN A. + DOUBLE # BOUND TO GET OVERFLOW IN THIS LOOP. + OVSK # SINCE WE ASSURED INITIAL NZ IN A. TCF -3 INDEX L - CA BIT8 -1 # SAVE THE RELEVANT BIT (8-1). + CA BIT8 -1 # SAVE THE RELEVANT BIT (8 - 1). TS Q - MASK PVALVEST # LOOK AT PREVIOUS VALVE STATE BIT. + MASK PVALVEST # LOOK AT PREVIOUS VALVE STATE BIT. CCS A - TCF VOPENED # THE VALVE HAS JUST BEEN OPENED. + TCF VOPENED # THE VALVE HAS JUST BEEN OPENED. - CS CH5MASK # THE VALVE HAS JUST BEEN CLOSED. + CS CH5MASK # THE VALVE HAS JUST BEEN CLOSED. INDEX L MASK 5FAILTAB - ADS CH5MASK # SET INHIBIT BIT FOR CHANNEL 5 JET. + ADS CH5MASK # SET INHIBIT BIT FOR CHANNEL 5 JET. CS CH6MASK INDEX L MASK 6FAILTAB - ADS CH6MASK # SET INGIBIT BIT FOR CHANNEL 6 JET + ADS CH6MASK # SET INGIBIT BIT FOR CHANNEL 6 JET. CA Q - ADS PVALVEST # RECORD ACTION TAKEN. + ADS PVALVEST # RECORD ACTION TAKEN. - TCF 1/ACCFIX # SET UP 1/ACCJOB AND EXIT. + TCF 1/ACCFIX # SET UP 1/ACCJOB AND EXIT. # Page 192 -VOPENED INDEX L # A VALVE HAS JUST BEEN OPENED. +VOPENED INDEX L # A VALVE HAS JUST BEEN OPENED. CS 5FAILTAB MASK CH5MASK - TS CH5MASK # REMOVE INHIBIT BIT FOR CHANNEL 5 JET. + TS CH5MASK # REMOVE INHIBIT BIT FOR CHANNEL 5 JET. INDEX L CS 6FAILTAB MASK CH6MASK - TS CH6MASK # REMOVE INHIBIT BIT FOR CHANNEL 6 JET. + TS CH6MASK # REMOVE INHIBIT BIT FOR CHANNEL 6 JET. CS Q MASK PVALVEST - TS PVALVEST # RECORD ACTION TAKEN. + TS PVALVEST # RECORD ACTION TAKEN. -1/ACCFIX CAF PRIO27 # SET UP 1/ACCS SO THAT THE SWITCH CURVES - TC NOVAC # FOR TJETLAW CAN BE MODIFIED IF CH5MASK - EBANK= AOSQ # HAS BEEN ALTERED. +1/ACCFIX CAF PRIO27 # SET UP 1/ACCS SO THAT THE SWITCH CURVES + TC NOVAC # FOR TJETLAW CAN BE MODIFIED IF CH5MASK + EBANK= AOSQ # HAS BEEN ALTERED. 2CADR 1/ACCJOB - TCF RCSMONEX # EXIT. - -5FAILTAB EQUALS -1 # CH 5 JET BIT CORRESPONDING TO CH 32 BIT: - OCT 00040 # 8 - OCT 00020 # 7 - OCT 00100 # 6 - OCT 00200 # 5 - OCT 00010 # 4 - OCT 00001 # 3 - OCT 00004 # 2 - OCT 00002 # 1 - -6FAILTAB EQUALS -1 # CH 6 JET BIT CORRESPONDING TO CH 32 BIT: - OCT 00010 # 8 - OCT 00020 # 7 - OCT 00004 # 6 - OCT 00200 # 5 - OCT 00001 # 4 - OCT 00002 # 3 - OCT 00040 # 2 - OCT 00100 # 1 + TCF RCSMONEX # EXIT. + + +5FAILTAB EQUALS -1 # CH 5 JET BIT CORRESPONDING TO CH 32 BIT: + OCT 00040 # 8 + OCT 00020 # 7 + OCT 00100 # 6 + OCT 00200 # 5 + OCT 00010 # 4 + OCT 00001 # 3 + OCT 00004 # 2 + OCT 00002 # 1 + +6FAILTAB EQUALS -1 # CH 6 JET BIT CORRESPONDING TO CH 32 BIT: + OCT 00010 # 8 + OCT 00020 # 7 + OCT 00004 # 6 + OCT 00200 # 5 + OCT 00001 # 4 + OCT 00002 # 3 + OCT 00040 # 2 + OCT 00100 # 1