Proof FRESH_START_AND_RESTART #208 (#401)

* Proof FIXED_FIXED_CONSTANT_POOL (#207)

* wip(pp. 0181-0185): Proof FRESH_START_AND_RESTART #208

* done(pp. 0181-0210): Proof FRESH_START_AND_RESTART #208
pull/535/head
Glenn Dwiyatcita 2019-09-02 17:11:25 +02:00 committed by James Harris
parent 8bad6a00a1
commit 73de5c1b3a
1 changed files with 224 additions and 218 deletions

View File

@ -35,102 +35,103 @@
# PROGRAM DESCRIPTION 8 APRIL, 1967
# SUNDISK REV 120
# FUNCTIONAL DESCRIPTION
#
# SLAP1 MAN INITIATED FRESH START
# 1. EXECUTE STARTSUB
# 2. TURN OFF DSKY DISCRETE-LAMPS
# 3. CLEAR FAIL REGISTERS, SELF-CHECK ERROR COUNTER AND RESTART
# COUNTER
# 4. EXECUTE DOFSTART
#
# DOFSTART MACHINE INITIATED FRESH START
#
# 1. CLEAR SELF-CHECK REGISTERS, MODE REGISTER AND CDUZ REGISTER
# 2. CLEAR PHASE TABLE
# 3. INITIALIZE IMU FLAGS
# 4. INITIALIZE FLAGWORDS
# 5. TRANSFER CONTROL TO IDLE LOOP IN DUMMYJOB
#
# GOPROG HARDWARE RESTART
#
# 0. EXECUTE STARTSUB
# 1. TRANSFER CONTROL TO DOFSTART IF ANY OF THE FOLLOWING CONDITIONS
# EXIST.
# A. RESTART OCCURRED DURING EXECUTION OF ERASCHK.
# B. BOTH OSCILLATOR FAIL AND AGC WARNING ARE ON.
# C. MARK REJECT AND EITHER NAV OR MAIN DSKY ERROR LIGHT RESET
# ARE ON.
# 2. SCHEDULE A T5RUPT PROGRAM FOR THE DAP
# 3. SET FLAGWRD5 BITS FOR INTWAKE ROUTINE
# 4. EXTINGUISH ALL DSKY LAMPS, EXCEPT FOR PROGRAM ALARM, GIMBAL LOCK, AND
# NO ATT
# 5. INITIALIZE IMU FLAGS
# 6. IF ENGINE COMMAND IS ON (FLAGWRD5, BIT 7), SET ENGINE ON (CHANNEL
# 11, BIT 13).
# 7. TRANSFER CONTROL TO GOPROG3
#
# ENEMA SOFTWARE RESTART -- INITIATED BY MAJOR MODE CHANGE
#
# 1. EXECUTE STARTSB2
# 2. KILL PROGRAMS THAT WERE INTEGRATING OR WAITING FOR INTEGRATION
# ROUTINE
# 3. TRANSFER CONTROL TO GOPROG3
#
# GOPROG3 SUBROUTINE COMMON TO GOPROG AND ENEMA
#
# 1. TEST PHASE TABLES -- IF INCORRECT, DISPLAY ALARM 1107 AND
# TRANSFER CONTROL TO DOFSTART
# 2. DISPLAY MAJOR MODE
# 3. IF ANY GROUPS WERE ACTIVE UPON RESTART, TRANSFER CONTROL TO THE
# SLAP1 MAN INITIATED FRESH START
# 1. EXECUTE STARTSUB
# 2. TURN OFF DSKY DISCRETE-LAMPS
# 3. CLEAR FAIL REGISTERS,SELF-CHECK ERROR COUNTER AND RESTART
# COUNTER
# 4. EXECUTE DOFSTART
# DOFSTART MACHINE INITIATED FRESH START
# 1. CLEAR SELF-CHECK REGISTERS, MODE REGISTER AND CDUZ REGISTER
# 2. CLEAR PHASE TABLE
# 3. INITIALIZE IMU FLAGS
# 4. INITIALIZE FLAGWORDS
# 5. TRANSFER CONTROL TO IDLE LOOP IN DUMMYJOB
# GOPROG HARDWARE RESTART
# 0. EXECUTE STARTSUB
# 1. TRANSFER CONTROL TO DOFSTART IF ANY OF THE FOLLOWING CONDITIONS
# EXIST.
# A. RESTART OCCURED DURING EXECUTION OF ERASCHK
# B. BOTH OSCILLATOR FAIL AND AGC WARNING ARE ON
# C. MARK REJECT AND EITHER NAV OR MAIN DSKY ERROR LIGHT RESET
# ARE ON.
# 2. SCHEDULE A T5RUPT PROGRAM FOR THE DAP
# 3. SET FLAGWRD5 BITS FOR INTWAKE ROUTINE
# 4. EXTINGUISH ALL DSKY LAMPS, EXCEPT FOR PROGRAM ALARM,GIMBAL LOCK AND
# NO ATT
# 5. INITIALIZE IMU FLAGS
# 6. IF ENGINE COMMAND IS ON (FLAGWRD5,BIT 7), SET ENGINE ON (CHAN-
# NEL 11, BIT 13)
# 7. TRANSFER CONTROL TO GOPROG3
# ENEMA SOFTWARE RESTART INITIATED BY MAJOR MODE CHANGE
# 1. EXECUTE STARTSB2
# 2. KILL PROGRAMS THAT WERE INTEGRATING OR WAITING FOR INTEGRATION
# ROUTINE
# 3. TRANSFER CONTROL TO GOPROG3
# GOPROG3 SUBROUTINE COMMON TO GOPROG AND ENEMA
# 1. TEST PHASE TABLES - IF INCORRECT, DISPLAY ALARM 1107 AND
# TRANSFER CONTROL TO DOFSTART
# 2. DISPLAY MAJOR MODE
# 3. IF ANY GROUPS WERE ACTIVE UPON RESTART,TRANSFER CONTROL TO THE
# Page 182
# RESTARTS SUBROUTINE TO RESCHEDULE PENDING TASKS, LONGCALLS, AND
# JOBS (P20 IS RESTARTED VIA FINDVAC)
# 4. IF NO GROUPS WERE ACTIVE UPON RESTART, DISPLAY ALARM CODE
# 1110 (RESTART WITH NO ACTIVE GROUPS)
# 5. TRANSFER CONTROL TO IDLE LOOP IN DUMMYJOB
#
# STARTSUB SUBROUTINE COMMON TO SLAP1 AND GOPROG
#
# 1. CLEAR OUTBIT CHANNELS 5 AND 6
# 2. INITIALIZE TIME5, TIME4, TIME3
# 3. TRANSFER CONTROL TO STARTSB2
#
# STARTSB2 SUBROUTINE COMMON TO STARTSUB AND ENEMA
#
# 1. INTIALIZE OUTBIT CHANNELS 11,12,13, AND 14
# 2. REPLACE ALL TASKS ON WAITLIST WITH ENDTASK
# 3. MAKE ALL EXECUTIVE REGISTERS AVAILABLE
# 4. MAKE ALL VAC AREAS AVAILABLE
# 5. CLEAR DSKY REGISTERS
# 6. ZERO NUMEROUS SWITCHES
# 7. INITIALIZE OPTICS FLAGS
# 8. INITIALIZE PIPA AND TELEMETRY FAIL FLAGS
# 9. INITIALIZE DOWN TELEMETRY
#
# RESTARTS SUBROUTINE TO RESCHEDULE PENDING TASKS, LONGCALLS, AND
# JOBS (P20 IS RESTARTED VIA FINDVAC)
# 4. IF NO GROUPS WERE ACTIVE UPON RESTART, DISPLAY ALARM CODE
# 1110 (RESTART WITH NO ACTIVE GROUPS).
# 5. TRANSFER CONTROL TO IDLE LOOP IN DUMMYJOB
# STARTSUB SUBROUTINE COMMON TO SLAP1 AND GOPROG
# 1. CLEAR OUTBIT CHANNELS 5 AND 6
# 2. INITIALIZE TIME5,TIME4,TIME3
# 3. TRANSFER CONTROL TO STARTSB2
# STARTSB2 SUBROUTINE COMMON TO STARTSUB AND ENEMA
# 1. INTIALIZE OUTBIT CHANNELS 11,12,13, AND 14
# 2. REPLACE ALL TASKS ON WAITLIST WITH ENDTASK
# 3. MAKE ALL EXECUTIVE REGISTERS AVAILABLE
# 4. MAKE ALL VAC AREAS AVAILABLE
# 5. CLEAR DSKY REGISTERS
# 6. ZERO NUMEROUS SWITCHES
# 7. INITIALIZE OPTICS FLAGS
# 8. INITIALIZE PIPA AND TELEMETRY FAIL FLAGS
# 9. INITIALIZE DOWN TELEMETRY
# INPUT/OUTPUT INITIALIZATION
#
# A. CALLING SEQUENCE
#
# SLAP1 -- TC POSTJUMP OR VERB 36,ENTER
# CADR SLAP1
#
# ENEMA -- TC POSTJUMP *** DO NOT CALL ENEMA WITHOUT ***
# CADR ENEMA *** CONSULTING P00H PEOPLE ***
#
# B. OUTPUT
#
# A. CALLING SEQUENCE
# SLAP1 - TC POSTJUMP OR VERB 36,ENTER
# CADR SLAP1
# ENEMA - TC POSTJUMP *** DO NOT CALL ENEMA WITHOUT ***
# CADR ENEMA *** CONSULTING P00H PEOPLE ***
# B. OUTPUT
# ERASABLE MEMORY INITIALIZATION
#
# PROGRAM ANALYSIS
#
# A. SUBROUTINES CALLED
#
# A. SUBROUTINES CALLED
# MR.KLEAN,WAITLIST,DSPMM,ALARM,RESTARTS,FINDVAC
#
# B. ALARMS
#
# 1107 PHASE TABLE ERROR
# 1110 RESTART WITH NO ACTIVE GROUPS
# B. ALARMS
# 1107 PHASE TABLE ERROR
# 1110 RESTART WITH NO ACTIVE GROUPS
# Page 183
BANK 10
@ -258,7 +259,7 @@ DOFSTART CAF ZERO # DO A FRESH START.
DXCH STATE +10D
ENDRSTRT TC POSTJUMP
CADR DUMMYJOB +2 # PICKS UP AT RELINT. (IN A SWITCHED BANK.)
CADR DUMMYJOB +2 # DOES A RELINT. (IN A SWITCHED BANK.)
MR.KLEAN INHINT
EXTEND
@ -295,8 +296,8 @@ GOPROG INCR REDOCTR # ADVANCE RESTART COUNTER.
TC BANKCALL # STORE ERASABLES FOR DEBUGGING PURPOSES.
CADR VAC5STOR
CA BIT15 # TEST OSC FAIL BIT TO SEE IF WE HAVE
EXTEND # HAD A POWER TRANSIENT. IF SO, ATTEMPT
WAND CHAN33 # A RESTART. IF NOT, CHECK THE PRESENT
EXTEND # HAD A POWER TRANSIENT. IF SO, ATTEMPT
WAND CHAN33 # A RESTART. IF NOT, CHECK THE PRESENT
EXTEND # STATE OF AGC WARNING BIT.
BZF BUTTONS
@ -308,40 +309,40 @@ GOPROG INCR REDOCTR # ADVANCE RESTART COUNTER.
BUTTONS TC LIGHTSET # MAKE FRESH START CHECKS BEFORE ERESTORE.
# ERASCHK TEMPORARILY STORES THE CONTENST OF TWO ERASABLE LOCATIONS, X
# ERASCHK TEMPORARILY STORES THE CONTENTS OF TWO ERASABLE LOCATIONS, X
# AND X+1 INTO SKEEP5 AND SKEEP6. IT ALSO STORES X INTO SKEEP7 AND
# ERESTORE. IF ERASCHK IS INTERRUPTED BY A RESTART, C(ERESTORE) SHOULD
# EQUAL C(SKEEP7), AND SHOULD BE A + NUMBER LESS THAN 2000 OCT. OTHERWISE
# EQUAL C(SKEEP7),AND SHOULD BE A + NUMBER LESS THAN 2000 OCT. OTHERWISE
# C(ERESTORE) SHOULD EQUAL +0.
CAF HI5
MASK ERESTORE
EXTEND
BZF +2 # IF ERESTORE NOT = +0 OR +N LESS THAN 2K,
TCF NONAVKEY +1 # DOUBT E MEMORY AND DO A FRESH START
TCF NONAVKEY +1 # DOUBT E MEMORY AND DO A FRESH START.
CS ERESTORE
EXTEND
BZF ELRSKIP -1
AD SKEEP7
EXTEND
BZF +2 # = SKEEP7, RESTORE E MEMORY.
TCF NONAVKEY +1 # NOT = SKEEP7, DOUBT E MEM, DO FRESH START
TCF NONAVKEY +1 # NOT=SKEEP7, DOUBT EMEM, DO FRESH START
CA SKEEP4
TS EBANK # EBANK OF E MEMORY THAT WAS UNDER TEST.
EXTEND # (NOT DXCH SINCE THIS MIGHT HAPPEN AGAIN)
DCA SKEEP5
INDEX SKEEP7
DXCH 0000 # E MEMORY RESTORED
DXCH 0000 # E MEMORY RESTORED.
CA ZERO
TS ERESTORE
# Page 187
TC STARTSUB # DO INITIALIZATION AFTER ERASE RESTORE.
ELRSKIP CA FLAGWRD6 # RESTART AUTOPILOTS
EXTEND
MP BIT3 # BITS 15,14 00 T5IDLOC
MASK SIX # 01 REDORCS
EXTEND # 10 REDOTVC
INDEX A # 11 REDOSAT
MP BIT3 # BITS 15,14 00 T5IDLOC
MASK SIX # 01 REDORCS
EXTEND # 10 REDOTVC
INDEX A # 11 REDOSAT
DCA T5IDLER
DXCH T5LOC
@ -359,12 +360,12 @@ ELRSKIP CA FLAGWRD6 # RESTART AUTOPILOTS
AD IM33INIT
TS IMODES33
CA 9,6,4 # LEAVE PROG ALARM, GIMBAL LOCK, NO ATT
CA 9,6,4 # LEAVE PROG ALARM,GIMBAL LOCK, NO ATT
MASK DSPTAB +11D # LAMPS INTACT ON HARDWARE RESTART
AD BIT15
XCH DSPTAB +11D
MASK BIT4 # IF NO ATT LAMP WAS ON, LEAVE ISS IN
EXTEND # COARSE ALIGN
EXTEND # COURSE ALIGN
BZF NOCOARSE
TC IBNKCALL # IF NO ATT LAMP ON, RETURN ISS TO
CADR SETCOARS # COARSE ALIGN.
@ -402,7 +403,7 @@ ENEMA INHINT
BZMF GOPROG3 # NO
CAF .5SEC # YES, CALL TVCEXEC TASK WHICH WAS KILLED
TC WAITLIST # IN STARTSB2
TC WAITLIST # IN STARTSB2.
EBANK= BZERO
2CADR TVCEXEC
@ -439,13 +440,13 @@ PCLOOP TS MPAC +5
CAF EBANK3
TS EBANK
# Page 189
CAF NUMGRPS # SEE IF ANY GROUPS RUNNING
CAF NUMGRPS # SEE IF ANY GROUPS RUNNING.
NXTRST TS MPAC +5
DOUBLE
INDEX A
CCS PHASE1
TCF PACTIVE # PNZ -- GROUP ACTIVE.
TCF PINACT # +0 -- GROUP NOT RUNNING.
TCF PACTIVE # PNZ - GROUP ACTIVE.
TCF PINACT # +0 - GROUP NOT RUNNING.
PACTIVE TS MPAC
INCR MPAC # ABS OF PHASE.
@ -466,12 +467,12 @@ PINACT CCS MPAC +5 # PROCESS ALL RESTART GROUPS.
PTBAD TC ALARM # SET ALARM TO SHOW PHASE TABLE FAILURE.
OCT 1107
TCF DOFSTART # IN R21.
# ********* ********* **********
# DO NOT USE GOPROG2 OR ENEMA WITHOUT CONSULTING P00H PEOPLE.
TCF DOFSTART # IN R2).
# ******** ****** ******
#
# DO NOT USE GOPROG2 OR ENEMA WITHOUT CONSULTING P00H PEOPLE
#
GOPROG2 EQUALS ENEMA
OCT10000 = BIT13
OCT30000 = PRIO30
@ -512,7 +513,7 @@ STARTSUB CAF LDNPHAS1 # SET POINTER SO NEXT 20MS DOWNRUPT WILL
TS TIME5 # 37774 TO TIME5.
STARTSB2 CAF OCT77603 # TURN OFF UPLINK ACTY, TEMP CAUTION, KR,
EXTEND # FLASH, OP. ERROR, LEAVE OTHERS UNCHANGED.
EXTEND # FLASH, OP. ERROR, LEAVE OTHERS UNCHANGED
WAND DSALMOUT
CAF OCT74777 # TURN OFF TEST ALARMS, STANDBY ENABLE.
@ -676,26 +677,31 @@ SWINIT OCT 0
OCT 0
OCT 0
# Page 194
# PROGRAM NAME GOTOP00H ASSEMBLY SUNDISK
# PROGRAM NAME GOTOP00H ASSEMBLY SUNDISK
# LOG SECTION FRESH START AND RESTART
#
# FUNCTIONAL DESCRIPTION
#
# 1. DISPLAY MAJOR MODE NUMBER 00 IN DSKY REGISTER R1 AND R3. FLASH V50N07 ON DSKY. (M M CHANGE REQUEST)
# 2. PERMIT A CURRENT PENDING REQUEST (FLASH ON DSKY) TO BE REPLACED (WITHOUT AN ABORT) BY THE MAJOR MODE
# CHANGE REQUEST.
#
# 1. DISPLAY MAJOR MODE NUMBER 00 IN DSKY REGISTER R1 AND R3. FLASH V50 N07 ON DSKY. (M M CHANGE REQUEST)
# 2. PERMIT A CURRENT PENDING REQUEST (FLASH ON DSKY) TO BE REPLACED (WITHOUT AN ABORT) BY THE MAJOR MODE
# CHANGE REQUEST.
# INPUT/OUTPUT INFORMATION
#
# A. CALLING SEQUENCE TC GOTOP00H
# A. CALLING SEQUENCE TC GOTOP00H
# B. ERASABLE INITIALIZATION NONE
# C. OUTPUT FLASH V 50 NOUN 07 ON DSKY
# D. DEBRIS L
#
# C. OUTPUT FLASH VERB 50 NOUN 07 ON DSKY
# D. DEBRIS L
# PROGRAM ANALYSIS
#
# A. SUBROUTINES CALLED GOPERF3, LINUS
# B. NORMAL EXIT TCF ENDOFJOB
# A. SUBROUTINES CALLED GOPERF3, LINUS
# B. NORMAL EXIT TCF ENDOFJOB
# C. ALARM AND ABORT EXITS NONE
BLOCK 02
@ -727,70 +733,70 @@ GOP00FIX TC INITSUB
V37N99 VN 3799
# Page 196
# PROGRAM NAME V37 ASSEMBLY SUNDISK
#
# LOG SECTION FRESH START AND RESTART
#
# PROGRAM NAME V37 ASSEMBLY SUNDISK
# LOG SECTION FRESH START AND RESTART
# FUNCTIONAL DESCRIPTION
#
# 1. CHECK IF NEW PROGRAM ALLOWED. IF BIT 1 OF FLAGWRD2 (NODOFLAG) IS SET, AN ALARM 1520 IS CALLED.
# 1. CHECK IF NEW PROGRAM ALLOWED. IF BIT 1 OF FLAGWRD2(NODOFLAG) ISSET, AN ALARM 1520 IS CALLED.
# 2. CHECK FOR VALIDITY OF PROGRAM SELECTED. IF AN INVALID PROGRAM IS SELECTED, THE OPERATOR ERROR LIGHT IS
# SET AND CURRENT ACTIVITY, IF ANY, CONTINUE.
# SET AND CURRENT ACTIVITY, IF ANY, CONTINUES.
# 3. SERVICER IS TERMINATED IF IT HAS BEEN RUNNING.
# 4. INSTALL IS EXECUTED TO AVOID INTERRUPTING INTEGRATION.
# 5. THE ENGINE IS TURNED OFF AND THE DAP IS INITIALIZED FOR COAST.
# 6. TRACK, UPDATE, AND TARG1 FLAGS ARE SET TO ZERO.
# 6. TRACK, UPDATE AND TARG1 FLAGS ARE SET TO ZERO.
# 7. DISPLAY SYSTEM IS RELEASED.
# 8. THE FOLLOWING ARE PERFORMED FOR EACH OF THE THREE CASES.
# A. PROGRAM SELECTED IS P00.
# 1. RENDEZVOUS FLAG IS RESET. (KILL P20)
# 2. STATINT1 IS SCHEDULED BY SETTING RESTART GROUP 2.
# 3. MAJOR MODE 00 IS STORED IN THE MODE REGISTER (MODREG).
# 4. SUPERBANK 3 IS SELECTED.
# 5. NODOFLAG IS RESET.
# 6. ALL RESTART GROUPS EXCEPT GROUP2 ARE CLEARED. CONTROL IS TRANSFERRED TO RESTART PROGRAM (GOPROG2)
# WHICH CAUSES ALL CURRENT ACTIVITY TO BE DISCONTINUED AND A 9 MINUTE INTEGRATION CYCLE TO BE
# INITIATED.
# B. PROGRAM SELECTES IS P20.
# 1. IF THE CURRENT MAJOR MODE IS THE SAME AS THE SELECTED NEWPROGRAM. THE PROGRAM IS RE-INITIALIZED
# VIA V37XEQ, ALL RESTART GROUPS, EXCEPT GROUP 4 ARE CLEARED.
# 2. IF THE CURRENT MAJOR MODE IS NOT EQUAL TO THE NEW REQUEST, A CHECK IS MADE TO SEE IF THE REQUEST-
# ED MAJOR MODE HAS BEEN RUNNING THE BACKGROUND,
# AND IF IT HAS, NO NEW PROGRAM IS SCHEDULED, THE EXISTING
# P20 IS RESTARTED TO CONTINUE, AND ITS MAJORE MODE IS SET.
# 3. CONTROL IS TRANSFERRED TO GOPROG2.
# C. PROGRAM SELECTED IS NEITHER P00 NOR P20
# 1. V37XEQ IS SCHEDULED (AS A JOB) BY SETTING RESTART GROUP 4
# 2. ALL CURRENT ACTIVITY EXCEPT RENDEZVOUS AND TRACKING IS DISCONTINUED BY CLEARING ALL RESTART
# GROUPS. GROUP 2 IS CLEARED. IF THE RENDEZVOUS FLAG IS ON P20 IS RESTARTED IN GOPROG2 VIA REDOP20,
# TO CONTINUE.
#
# A. PROGRAM SELECTED IS P00.
# 1. RENDEZVOUS FLAG IS RESET (KILL P20).
# 2. STATINT1 IS SCHEDULED BY SETTING RESTART GROUP 2.
# 3. MAJOR MODE 00 IS STORED IN THE MODE REGISTER(MODREG).
# 4. SUPERBANK 3 IS SELECTED.
# 5. NODOFLAG IS RESET.
# 6. ALL RESTART GROUPS EXCEPT GROUP 2 ARE CLEARED. CONTROL ISTRANSFERRED TO RESTART PROGRAM (GOPROG2)
# WHICH CAUSES ALL CURRENT ACTIVITY TO BE DISCONTINUED AND A 9 MINUTE INTEGRATION CYCLE TO BE
# INITIATED.
# B. PROGRAM SELECTES IS P20.
# 1. IF THE CURRENT MAJOR MODE IS THE SAME AS THE SELECTED NEWPROGRAM. THE PROGRAM IS RE-INITIALIZED
# VIA V37XEQ, ALL RESTART GROUPS, EXCEPT GROUP 4 ARE CLEARED.
# 2. IF THE CURRENT MAJOR MODE IS NOT EQUAL TO THE NEW REQUEST, A CHECK IS MADE TO SEE IF THE REQUEST-
# ED MAJOR MODE HAS BEEN RUNNING THE BACKGROUND,
# AND IF IT HAS, NO NEW PROGRAM IS SCHEDULED, THE EXISTING
# P20 IS RESTARTED TO CONTINUE, AND ITS MAJOR MODE IS SET.
# 3. CONTROL IS TRANSFERRED TO GOPROG2.
# C. PROGRAM SELECTED IS NEITHER P00 NOR P20
# 1. V37XEQ IS SCHEDULED (AS A JOB) BY SETTING RESTART GROUP 4
# 2. ALL CURRENT ACTIVITY EXCEPT RENDEZVOUS AND TRACKING IS DISCONTINUED BY CLEARING ALL RESTART
# GROUPS. GROUP 2 IS CLEARED. IF THE RENDEZVOUS FLAG IS ON P20 IS RESTARTED IN GOPROG2 VIA REDOP20,
# TO CONTINUE.
# INPUT/OUTPUT INFORMATION
#
# A. CALLING SEQUENCE
# A. CALLING SEQUENCE
# CONTROL IS DIRECTED TO V37 BY THE VERBFAN ROUTINE.
# VERBFAN GOES TO C(VERBTAB+C(VERBREG)). VERB 37 = MMCHANG.
# MMCHANG EXECUTES A TC POSTJUMP, CADR V37.
#
# B. ERASABLE INITIALIZATION NONE
#
# C. OUTPUT
# VERBFAN GOES TO C(VERBTAB+C(VERBREG)). VERB 37 = MMCHANG.
# MMCHANG EXECUTES A TC POSTJUMP, CADR V37.
# B. ERASABLE INITIALIZATION NONE
# C. OUTPUT
# MAJOR MODE CHANGE
# Page 197
#
# D. DEBRIS
# D. DEBRIS
# MMNUMBER, MPAC +1, MINDEX, BASETEMP +C(MINDEX), FLAGWRD0, FLAGWRD1, FLAGWRD2, MODREG, GOLOC -1,
# GOLOC, GOLOC +1, GOLOC +2, BASETEMP, -PHASE2, PHASE2, -PHASE4
#
# PROGRAM ANALYSIS
#
# A. SUBROUTINES CALLED
# A. SUBROUTINES CALLED
# ALARM, RELDSP, PINBRNCH, INTSTALL, ENGINOF2, ALLCOAST, V37KLEAN, GOPROG2, FALTON, FINDVAC, SUPERSW,
# DSPMM
#
# B. NORMAL EXIT TC ENDOFJOB
#
# C. ALARMS 1520 (MAJOR MODE CHANGE NOT PERMITTED)
# B. NORMAL EXIT TC ENDOFJOB
# C. ALARMS 1520 (MAJOR MODE CHANGE NOT PERMITTED)
BLOCK 02
SETLOC FFTAG10
@ -870,7 +876,7 @@ V37BAD TC RELDSP # RELEASES DISPLAY FROM ASTRONAUT
TC POSTJUMP # BRING BACK LAST NORMAL DISPLAY IF THERE
CADR PINBRNCH # WAS ONE. OY
CHECKTAB CA NOV37MM # THE NO. OF MM
CHECKTAB CA NOV37MM # THE NO. OF MM
AGAINMM TS MPAC +1
NDX MPAC +1
CA PREMM1 # OBTAIN WHICH MM THIS IS FOR
@ -886,13 +892,13 @@ AGAINMM TS MPAC +1
CA MPAC +1
TS MINDEX # SAVE INDEX FOR LATER
ISSERVON CS FLAGWRD7 # V37 FLAG SET -- I.E., IS SERVICER GOING
ISSERVON CS FLAGWRD7 # V37 FLAG SET - I.E. IS SERVICER GOING
MASK V37FLBIT
CCS A
TCF CANV37 # NO
INHINT
CS AVEGBIT # YES TURN OFF AVERAGE G FLAG AND WAIT
CS AVEGBIT # YES TURN OFF AVERAGE G FLAG AND WAIT
MASK FLAGWRD1 # FOR SERVICER TO RETURN TO CANV37
TS FLAGWRD1
@ -945,12 +951,13 @@ DUMMYAD EXIT
COUNT 04/P00
P00H TC RELDSP # RELEASE DISPLAY SYSTEM
CAF PRIO5 # SET VARIABLE RESTART REGISTER FOR P00.
TS PHSPRDT2
INHINT
CS NODOBIT # TURN OFF NODOFLAG.
CS NODOBIT # TURN OFF NODOFLAG
MASK FLAGWRD2
TS FLAGWRD2
@ -967,15 +974,15 @@ P00H TC RELDSP # RELEASE DISPLAY SYSTEM
COUNT 04/V37
SEUDOP00 TS DNLSTCOD # SET UP APPROPRIATE DOWNLIST CODE
# (OLD ONE WILL BE FINISHED FIRST)
SEUDOP00 TS DNLSTCOD # SET UP APPROPRIATE DOWNLIST.
# (OLD ONE WILL BE FINISHED FIRST)
CS OCT01120 # TURN OFF TRACK, TARG1, UPDATE FLAGS
TS EBANKTEM
MASK FLAGWRD1
TS FLAGWRD1
GROUPKIL TC IBNKCALL # KILL GROUPS 3,5,6
GROUPKIL TC IBNKCALL # KILL GROUPS 3(5,6
CADR V37KLEAN
CCS MMNUMBER # IS IT P00H
@ -1038,7 +1045,7 @@ NOUVEAU CAF RNDVZBIT
MASK FLAGWRD0
CCS A
TCF +3
TC DOWNFLAG # NO, RESET IMUINUSE FLAG
TC DOWNFLAG # NO, RESET IMUSE FLAG.
ADRES IMUSE # BIT 8 FLAG 0
+3 INDEX MINDEX
CAF DNLADMM1 # OBTAIN NEW DOWNLIST ADDRESS
@ -1046,22 +1053,22 @@ NOUVEAU CAF RNDVZBIT
INHINT
TCF SEUDOP00
V37NONO TC FALTON # COME HERE IF MM REQUESTED DOESN'T EXIST
V37NONO TC FALTON # COME HERE IF MM REQUESTED DOESNT EXIST
TCF V37BAD
OCT00010 EQUALS BIT4
V37XEQ INHINT
INDEX MINDEX
CAF PREMM1
TS MMTEMP # OBTAIN PRIORITY BITS 15-11
TS CYR # SHIFT RIGHT TO BITS 14-10
TS MMTEMP # OBTAIN PRIORITY BITS 15 - 11
TS CYR # SHIFT RIGHT TO BITS 14 - 10
CA CYR
MASK PRIO37
TS PHSPRDT4 # PRESET GROUP 4 RESTART PRIORITY
TS PHSPRDT4 # PRESET GROUP4 RESTART PRIORITY
TS NEWPRIO # STORE PRIO FOR SPVAC
CA MMTEMP # OBTAIN EBANK -- BITS 8, 9, 10 OF MMTEMP.
CA MMTEMP # OBTAIN EBANK - BITS 8, 9, 10 OF MMTEMP.
EXTEND
MP BIT8
MASK LOW3
@ -1091,22 +1098,22 @@ INITSUB EXTEND
QXCH MPAC +1
CAF EBANK6 # SET E6 FOR DEADBAND CODING
TS EBANK # WILL BE RESET IN STARTSB2
TS EBANK # WILL BE RESET IN STARTSB2.
INHINT
TC STOPRATE
CA FLAGWRD9 # RESTORE DEADBAND
MASK MAXDBBIT
CCS A
TCF SETMAXER # MAX DE SELECTED
TC BANKCALL # MIN DE SELECTED
TCF SETMAXER # MAX DB SELECTED
TC BANKCALL # MIN DB SELECTED
CADR SETMINDB
TCF RAKE
SETMAXER TC BANKCALL
CADR SETMAXDB
RAKE CAF ELEVEN # THIS PART CLEARS FLAGWORD BITS.
+1 TS MPAC # LOOP COMES HERE
+1 TS MPAC # LOOP COMES HERE.
INDEX MPAC
CS FLAGTABL
INDEX MPAC
@ -1114,7 +1121,7 @@ RAKE CAF ELEVEN # THIS PART CLEARS FLAGWORD BITS.
INDEX MPAC # PUT REVISED FLAGWORD BACK.
TS FLAGWRD0
CCS MPAC
TCF RAKE +1 # GET THE NEXT FLAGWORD
TCF RAKE +1 # GET THE NEXT FLAGWORD.
RELINT
TC UPFLAG # NOW SET IMPULSW
@ -1238,10 +1245,10 @@ RCSADDR4 2CADR RCSATT
# INTO THE TABLE WITH THE ENTRY FOR THE HIGHEST MAJOR MODE COMING FIRST,
# Page 206
# TO THE LOWEST MAJOR MODE WHICH IS THE LAST ENTRY IN EACH TABLE.
#
# THE FCADRMM TABLE CONTAINS THE FCADR OF THE STARTING JOB OF
# THE FCADRMM TABLE CONTAINS THE FCADR OF THE STARTING JOB OF
# THE MAJOR MODE. FOR EXAMPLE,
#
# FCADRMM1 FCADR P79 # START OF P 79
# FCADR PROG18 # START OF P 18
# FCADR P01 # START OF P 01
@ -1281,29 +1288,29 @@ FCADRMM1 EQUALS
FCADR P06
FCADR GTSCPSS1 # GYROCOMPASS STANDARD LEAD IN.
# THE PREMM TABLE CONTAINS THE E-BANK, MAJOR MODE, AND PRIORITY
# THE PREMM TABLE CONTAINS THE E-BANK,MAJOR MODE, AND PRIORITY
# INFORMATION, IT IS IN THE FOLLOWING FORM,
#
# PPP PPE EEM MMM MMM
#
# Page 207
# WHERE THE 7 M BITS CONTAIN THE MAJOR MODE NUMBER
# 3 E BITS CONTAIN THE E-BANK NUMBER
# 5 P BITS CONTAIN THE PRIORITY AT WHICH THE JOB IS
# TO BE STARTED
#
# WHERE THE 7 M BITS CONTAIN THE MAJOR MODE NUMBER
# 3 E BITS CONTAIN THE E-BANK NUMBER
# 5 P BITS CONTAIN THE PRIORITY AT WHICH THE JOB IS
# TO BE STARTED
# FOR EXAMPLE,
#
# PREMM1 OCT 67213 # PRIORITY 33
# # E-BANK 5
# # E-BANK 5
# # MAJOR MODE 11
# OCT 25437 # PRIORITY 12
# # E-BANK 6
# OCT 25437 # PRIORITY 12
# # E-BANK 6
# # MAJOR MODE 31
PREMM1 EQUALS
OCT 27117 # MM 79 EBANK 4 PRIO 13
OCT 27116 # MM 78 EBANK 4 PRIO 13 (original says PR23 13)
OCT 27116 # MM 78 EBANK 4 PR23 13
OCT 27115 # MM 77 EBANK 4 PRIO 13
OCT 27714 # MM 76 EBANK 4 PRIO 13
OCT 27113 # MM 75 EBANK 4 PRIO 13
@ -1365,8 +1372,9 @@ PREMM1 EQUALS
EBANK= TIME2SAV # EBANK SETTING REQUIRED BY MM 06
EBANK= QPLACE # EBANK SETTING REQUIRED BY MM 01
# NOTE: THE FOLLOWING CONSTANT IS THE NUMBER OF ENTRIES IN EACH OF
# ----- THE ABOVE LISTS-1 (I.E., THE NUMBER OF MAJOR MODES (EXCEPT P00)
# NOTE, THE FOLLOWING CONSTANT IS THE NUMBER OF ENTRIES IN EACH OF
# ---- THE ABOVE LISTS-1(IE, THE NUMBER OF MAJOR MODES(EXCEPT P00)
# THAT CAN BE CALLED FROM THE KEYBOARD MINUS ONE)
EPREMM1 EQUALS # END OF PREMM1 TABLE
@ -1375,7 +1383,8 @@ NO.MMS =MINUS EPREMM1 # THE "NOV37MM" CONSTANT AS ENTRIES ARE
SETLOC VERB37 # INSERTED(IN) OR DELETED(FROM) THE
BANK # "PREMM1" TABLE.
NOV37MM ADRES NO.MMS -1 # ITEMS IN "PREMM1" TABLE - 1. *DON'T MOVE*
NOV37MM ADRES NO.MMS -1 # ITEMS IN "PREMM1"TABLE - 1. *DON'T MOVE*
DNLADMM1 EQUALS
ADRES RENDEZVU # P79
@ -1412,7 +1421,6 @@ DNLADMM1 EQUALS
ADRES RENDEZVU # P17
ADRES COSTALIN # P06
ADRES COSTALIN # P01
DNLADP00 = ZERO
COSTALIN = 0
ENTRYUPD = 1
@ -1420,11 +1428,9 @@ RENDEZVU = 2
POWERED = 3
P22DNLST = 4
# ORBITAL INTEGRATION CONSTANTS
# THESE CONSTANTS ARE USED IN COMPUTING THE SETTING OF MIDFLAG.
RMM 2DEC 2538.09 E3 B-27 # 800 KM ABOVE LUNAR SURFACE
RME 2DEC 7178165 B-29 # 800 KM ABOVE EQ. RADIUS
@ -1467,8 +1473,8 @@ STATEND CLRGO
NODOFLAG
ENDINT
# THIS VINT IS CALLED BY MIDTOAV1 AND 2
# THISVINT IS CALLED BY MIDTOAV1 AND2
THISVINT SET RVQ
VINTFLAG