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
This commit is contained in:
Glenn Dwiyatcita 2019-09-02 17:11:25 +02:00 committed by James Harris
parent 8bad6a00a1
commit 73de5c1b3a

View File

@ -35,50 +35,50 @@
# PROGRAM DESCRIPTION 8 APRIL, 1967 # PROGRAM DESCRIPTION 8 APRIL, 1967
# SUNDISK REV 120 # SUNDISK REV 120
# FUNCTIONAL DESCRIPTION # FUNCTIONAL DESCRIPTION
#
# SLAP1 MAN INITIATED FRESH START # SLAP1 MAN INITIATED FRESH START
# 1. EXECUTE STARTSUB # 1. EXECUTE STARTSUB
# 2. TURN OFF DSKY DISCRETE-LAMPS # 2. TURN OFF DSKY DISCRETE-LAMPS
# 3. CLEAR FAIL REGISTERS,SELF-CHECK ERROR COUNTER AND RESTART # 3. CLEAR FAIL REGISTERS,SELF-CHECK ERROR COUNTER AND RESTART
# COUNTER # COUNTER
# 4. EXECUTE DOFSTART # 4. EXECUTE DOFSTART
#
# DOFSTART MACHINE INITIATED FRESH START # DOFSTART MACHINE INITIATED FRESH START
#
# 1. CLEAR SELF-CHECK REGISTERS, MODE REGISTER AND CDUZ REGISTER # 1. CLEAR SELF-CHECK REGISTERS, MODE REGISTER AND CDUZ REGISTER
# 2. CLEAR PHASE TABLE # 2. CLEAR PHASE TABLE
# 3. INITIALIZE IMU FLAGS # 3. INITIALIZE IMU FLAGS
# 4. INITIALIZE FLAGWORDS # 4. INITIALIZE FLAGWORDS
# 5. TRANSFER CONTROL TO IDLE LOOP IN DUMMYJOB # 5. TRANSFER CONTROL TO IDLE LOOP IN DUMMYJOB
#
# GOPROG HARDWARE RESTART # GOPROG HARDWARE RESTART
#
# 0. EXECUTE STARTSUB # 0. EXECUTE STARTSUB
# 1. TRANSFER CONTROL TO DOFSTART IF ANY OF THE FOLLOWING CONDITIONS # 1. TRANSFER CONTROL TO DOFSTART IF ANY OF THE FOLLOWING CONDITIONS
# EXIST. # EXIST.
# A. RESTART OCCURRED DURING EXECUTION OF ERASCHK. # A. RESTART OCCURED DURING EXECUTION OF ERASCHK
# B. BOTH OSCILLATOR FAIL AND AGC WARNING ARE ON. # B. BOTH OSCILLATOR FAIL AND AGC WARNING ARE ON
# C. MARK REJECT AND EITHER NAV OR MAIN DSKY ERROR LIGHT RESET # C. MARK REJECT AND EITHER NAV OR MAIN DSKY ERROR LIGHT RESET
# ARE ON. # ARE ON.
# 2. SCHEDULE A T5RUPT PROGRAM FOR THE DAP # 2. SCHEDULE A T5RUPT PROGRAM FOR THE DAP
# 3. SET FLAGWRD5 BITS FOR INTWAKE ROUTINE # 3. SET FLAGWRD5 BITS FOR INTWAKE ROUTINE
# 4. EXTINGUISH ALL DSKY LAMPS, EXCEPT FOR PROGRAM ALARM, GIMBAL LOCK, AND # 4. EXTINGUISH ALL DSKY LAMPS, EXCEPT FOR PROGRAM ALARM,GIMBAL LOCK AND
# NO ATT # NO ATT
# 5. INITIALIZE IMU FLAGS # 5. INITIALIZE IMU FLAGS
# 6. IF ENGINE COMMAND IS ON (FLAGWRD5, BIT 7), SET ENGINE ON (CHANNEL # 6. IF ENGINE COMMAND IS ON (FLAGWRD5,BIT 7), SET ENGINE ON (CHAN-
# 11, BIT 13). # NEL 11, BIT 13)
# 7. TRANSFER CONTROL TO GOPROG3 # 7. TRANSFER CONTROL TO GOPROG3
#
# ENEMA SOFTWARE RESTART -- INITIATED BY MAJOR MODE CHANGE # ENEMA SOFTWARE RESTART INITIATED BY MAJOR MODE CHANGE
#
# 1. EXECUTE STARTSB2 # 1. EXECUTE STARTSB2
# 2. KILL PROGRAMS THAT WERE INTEGRATING OR WAITING FOR INTEGRATION # 2. KILL PROGRAMS THAT WERE INTEGRATING OR WAITING FOR INTEGRATION
# ROUTINE # ROUTINE
# 3. TRANSFER CONTROL TO GOPROG3 # 3. TRANSFER CONTROL TO GOPROG3
#
# GOPROG3 SUBROUTINE COMMON TO GOPROG AND ENEMA # GOPROG3 SUBROUTINE COMMON TO GOPROG AND ENEMA
#
# 1. TEST PHASE TABLES -- IF INCORRECT, DISPLAY ALARM 1107 AND # 1. TEST PHASE TABLES - IF INCORRECT, DISPLAY ALARM 1107 AND
# TRANSFER CONTROL TO DOFSTART # TRANSFER CONTROL TO DOFSTART
# 2. DISPLAY MAJOR MODE # 2. DISPLAY MAJOR MODE
# 3. IF ANY GROUPS WERE ACTIVE UPON RESTART,TRANSFER CONTROL TO THE # 3. IF ANY GROUPS WERE ACTIVE UPON RESTART,TRANSFER CONTROL TO THE
@ -86,17 +86,17 @@
# RESTARTS SUBROUTINE TO RESCHEDULE PENDING TASKS, LONGCALLS, AND # RESTARTS SUBROUTINE TO RESCHEDULE PENDING TASKS, LONGCALLS, AND
# JOBS (P20 IS RESTARTED VIA FINDVAC) # JOBS (P20 IS RESTARTED VIA FINDVAC)
# 4. IF NO GROUPS WERE ACTIVE UPON RESTART, DISPLAY ALARM CODE # 4. IF NO GROUPS WERE ACTIVE UPON RESTART, DISPLAY ALARM CODE
# 1110 (RESTART WITH NO ACTIVE GROUPS) # 1110 (RESTART WITH NO ACTIVE GROUPS).
# 5. TRANSFER CONTROL TO IDLE LOOP IN DUMMYJOB # 5. TRANSFER CONTROL TO IDLE LOOP IN DUMMYJOB
#
# STARTSUB SUBROUTINE COMMON TO SLAP1 AND GOPROG # STARTSUB SUBROUTINE COMMON TO SLAP1 AND GOPROG
#
# 1. CLEAR OUTBIT CHANNELS 5 AND 6 # 1. CLEAR OUTBIT CHANNELS 5 AND 6
# 2. INITIALIZE TIME5,TIME4,TIME3 # 2. INITIALIZE TIME5,TIME4,TIME3
# 3. TRANSFER CONTROL TO STARTSB2 # 3. TRANSFER CONTROL TO STARTSB2
#
# STARTSB2 SUBROUTINE COMMON TO STARTSUB AND ENEMA # STARTSB2 SUBROUTINE COMMON TO STARTSUB AND ENEMA
#
# 1. INTIALIZE OUTBIT CHANNELS 11,12,13, AND 14 # 1. INTIALIZE OUTBIT CHANNELS 11,12,13, AND 14
# 2. REPLACE ALL TASKS ON WAITLIST WITH ENDTASK # 2. REPLACE ALL TASKS ON WAITLIST WITH ENDTASK
# 3. MAKE ALL EXECUTIVE REGISTERS AVAILABLE # 3. MAKE ALL EXECUTIVE REGISTERS AVAILABLE
@ -106,29 +106,30 @@
# 7. INITIALIZE OPTICS FLAGS # 7. INITIALIZE OPTICS FLAGS
# 8. INITIALIZE PIPA AND TELEMETRY FAIL FLAGS # 8. INITIALIZE PIPA AND TELEMETRY FAIL FLAGS
# 9. INITIALIZE DOWN TELEMETRY # 9. INITIALIZE DOWN TELEMETRY
#
# INPUT/OUTPUT INITIALIZATION # INPUT/OUTPUT INITIALIZATION
#
# A. CALLING SEQUENCE # A. CALLING SEQUENCE
#
# SLAP1 -- TC POSTJUMP OR VERB 36,ENTER # SLAP1 - TC POSTJUMP OR VERB 36,ENTER
# CADR SLAP1 # CADR SLAP1
#
# ENEMA -- TC POSTJUMP *** DO NOT CALL ENEMA WITHOUT *** # ENEMA - TC POSTJUMP *** DO NOT CALL ENEMA WITHOUT ***
# CADR ENEMA *** CONSULTING P00H PEOPLE *** # CADR ENEMA *** CONSULTING P00H PEOPLE ***
#
# B. OUTPUT # B. OUTPUT
#
# ERASABLE MEMORY INITIALIZATION # ERASABLE MEMORY INITIALIZATION
#
# PROGRAM ANALYSIS # PROGRAM ANALYSIS
#
# A. SUBROUTINES CALLED # A. SUBROUTINES CALLED
#
# MR.KLEAN,WAITLIST,DSPMM,ALARM,RESTARTS,FINDVAC # MR.KLEAN,WAITLIST,DSPMM,ALARM,RESTARTS,FINDVAC
#
# B. ALARMS # B. ALARMS
#
# 1107 PHASE TABLE ERROR # 1107 PHASE TABLE ERROR
# 1110 RESTART WITH NO ACTIVE GROUPS # 1110 RESTART WITH NO ACTIVE GROUPS
@ -258,7 +259,7 @@ DOFSTART CAF ZERO # DO A FRESH START.
DXCH STATE +10D DXCH STATE +10D
ENDRSTRT TC POSTJUMP 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 MR.KLEAN INHINT
EXTEND EXTEND
@ -308,7 +309,7 @@ GOPROG INCR REDOCTR # ADVANCE RESTART COUNTER.
BUTTONS TC LIGHTSET # MAKE FRESH START CHECKS BEFORE ERESTORE. 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 # 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 # 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
@ -318,7 +319,7 @@ BUTTONS TC LIGHTSET # MAKE FRESH START CHECKS BEFORE ERESTORE.
MASK ERESTORE MASK ERESTORE
EXTEND EXTEND
BZF +2 # IF ERESTORE NOT = +0 OR +N LESS THAN 2K, 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 CS ERESTORE
EXTEND EXTEND
BZF ELRSKIP -1 BZF ELRSKIP -1
@ -331,7 +332,7 @@ BUTTONS TC LIGHTSET # MAKE FRESH START CHECKS BEFORE ERESTORE.
EXTEND # (NOT DXCH SINCE THIS MIGHT HAPPEN AGAIN) EXTEND # (NOT DXCH SINCE THIS MIGHT HAPPEN AGAIN)
DCA SKEEP5 DCA SKEEP5
INDEX SKEEP7 INDEX SKEEP7
DXCH 0000 # E MEMORY RESTORED DXCH 0000 # E MEMORY RESTORED.
CA ZERO CA ZERO
TS ERESTORE TS ERESTORE
# Page 187 # Page 187
@ -364,7 +365,7 @@ ELRSKIP CA FLAGWRD6 # RESTART AUTOPILOTS
AD BIT15 AD BIT15
XCH DSPTAB +11D XCH DSPTAB +11D
MASK BIT4 # IF NO ATT LAMP WAS ON, LEAVE ISS IN MASK BIT4 # IF NO ATT LAMP WAS ON, LEAVE ISS IN
EXTEND # COARSE ALIGN EXTEND # COURSE ALIGN
BZF NOCOARSE BZF NOCOARSE
TC IBNKCALL # IF NO ATT LAMP ON, RETURN ISS TO TC IBNKCALL # IF NO ATT LAMP ON, RETURN ISS TO
CADR SETCOARS # COARSE ALIGN. CADR SETCOARS # COARSE ALIGN.
@ -402,7 +403,7 @@ ENEMA INHINT
BZMF GOPROG3 # NO BZMF GOPROG3 # NO
CAF .5SEC # YES, CALL TVCEXEC TASK WHICH WAS KILLED CAF .5SEC # YES, CALL TVCEXEC TASK WHICH WAS KILLED
TC WAITLIST # IN STARTSB2 TC WAITLIST # IN STARTSB2.
EBANK= BZERO EBANK= BZERO
2CADR TVCEXEC 2CADR TVCEXEC
@ -439,13 +440,13 @@ PCLOOP TS MPAC +5
CAF EBANK3 CAF EBANK3
TS EBANK TS EBANK
# Page 189 # Page 189
CAF NUMGRPS # SEE IF ANY GROUPS RUNNING CAF NUMGRPS # SEE IF ANY GROUPS RUNNING.
NXTRST TS MPAC +5 NXTRST TS MPAC +5
DOUBLE DOUBLE
INDEX A INDEX A
CCS PHASE1 CCS PHASE1
TCF PACTIVE # PNZ -- GROUP ACTIVE. TCF PACTIVE # PNZ - GROUP ACTIVE.
TCF PINACT # +0 -- GROUP NOT RUNNING. TCF PINACT # +0 - GROUP NOT RUNNING.
PACTIVE TS MPAC PACTIVE TS MPAC
INCR MPAC # ABS OF PHASE. 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. PTBAD TC ALARM # SET ALARM TO SHOW PHASE TABLE FAILURE.
OCT 1107 OCT 1107
TCF DOFSTART # IN R21. TCF DOFSTART # IN R2).
# ********* ********* **********
# DO NOT USE GOPROG2 OR ENEMA WITHOUT CONSULTING P00H PEOPLE.
# ******** ****** ******
#
# DO NOT USE GOPROG2 OR ENEMA WITHOUT CONSULTING P00H PEOPLE
#
GOPROG2 EQUALS ENEMA GOPROG2 EQUALS ENEMA
OCT10000 = BIT13 OCT10000 = BIT13
OCT30000 = PRIO30 OCT30000 = PRIO30
@ -512,7 +513,7 @@ STARTSUB CAF LDNPHAS1 # SET POINTER SO NEXT 20MS DOWNRUPT WILL
TS TIME5 # 37774 TO TIME5. TS TIME5 # 37774 TO TIME5.
STARTSB2 CAF OCT77603 # TURN OFF UPLINK ACTY, TEMP CAUTION, KR, 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 WAND DSALMOUT
CAF OCT74777 # TURN OFF TEST ALARMS, STANDBY ENABLE. CAF OCT74777 # TURN OFF TEST ALARMS, STANDBY ENABLE.
@ -678,24 +679,29 @@ SWINIT OCT 0
# Page 194 # Page 194
# PROGRAM NAME GOTOP00H ASSEMBLY SUNDISK # PROGRAM NAME GOTOP00H ASSEMBLY SUNDISK
# LOG SECTION FRESH START AND RESTART # LOG SECTION FRESH START AND RESTART
#
# FUNCTIONAL DESCRIPTION # FUNCTIONAL DESCRIPTION
#
# 1. DISPLAY MAJOR MODE NUMBER 00 IN DSKY REGISTER R1 AND R3. FLASH V50 N07 ON DSKY. (M M 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 # 2. PERMIT A CURRENT PENDING REQUEST (FLASH ON DSKY) TO BE REPLACED (WITHOUT AN ABORT) BY THE MAJOR MODE
# CHANGE REQUEST. # CHANGE REQUEST.
#
# INPUT/OUTPUT INFORMATION # INPUT/OUTPUT INFORMATION
#
# A. CALLING SEQUENCE TC GOTOP00H # A. CALLING SEQUENCE TC GOTOP00H
# B. ERASABLE INITIALIZATION NONE # B. ERASABLE INITIALIZATION NONE
# C. OUTPUT FLASH V 50 NOUN 07 ON DSKY
# C. OUTPUT FLASH VERB 50 NOUN 07 ON DSKY
# D. DEBRIS L # D. DEBRIS L
#
# PROGRAM ANALYSIS # PROGRAM ANALYSIS
#
# A. SUBROUTINES CALLED GOPERF3, LINUS # A. SUBROUTINES CALLED GOPERF3, LINUS
# B. NORMAL EXIT TCF ENDOFJOB # B. NORMAL EXIT TCF ENDOFJOB
# C. ALARM AND ABORT EXITS NONE # C. ALARM AND ABORT EXITS NONE
BLOCK 02 BLOCK 02
@ -728,22 +734,21 @@ V37N99 VN 3799
# Page 196 # Page 196
# PROGRAM NAME V37 ASSEMBLY SUNDISK # PROGRAM NAME V37 ASSEMBLY SUNDISK
#
# LOG SECTION FRESH START AND RESTART # LOG SECTION FRESH START AND RESTART
#
# FUNCTIONAL DESCRIPTION # FUNCTIONAL DESCRIPTION
#
# 1. CHECK IF NEW PROGRAM ALLOWED. IF BIT 1 OF FLAGWRD2(NODOFLAG) ISSET, 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 # 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. # 3. SERVICER IS TERMINATED IF IT HAS BEEN RUNNING.
# 4. INSTALL IS EXECUTED TO AVOID INTERRUPTING INTEGRATION. # 4. INSTALL IS EXECUTED TO AVOID INTERRUPTING INTEGRATION.
# 5. THE ENGINE IS TURNED OFF AND THE DAP IS INITIALIZED FOR COAST. # 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. # 7. DISPLAY SYSTEM IS RELEASED.
# 8. THE FOLLOWING ARE PERFORMED FOR EACH OF THE THREE CASES. # 8. THE FOLLOWING ARE PERFORMED FOR EACH OF THE THREE CASES.
# A. PROGRAM SELECTED IS P00. # A. PROGRAM SELECTED IS P00.
# 1. RENDEZVOUS FLAG IS RESET. (KILL P20) # 1. RENDEZVOUS FLAG IS RESET (KILL P20).
# 2. STATINT1 IS SCHEDULED BY SETTING RESTART GROUP 2. # 2. STATINT1 IS SCHEDULED BY SETTING RESTART GROUP 2.
# 3. MAJOR MODE 00 IS STORED IN THE MODE REGISTER(MODREG). # 3. MAJOR MODE 00 IS STORED IN THE MODE REGISTER(MODREG).
# 4. SUPERBANK 3 IS SELECTED. # 4. SUPERBANK 3 IS SELECTED.
@ -757,23 +762,24 @@ V37N99 VN 3799
# 2. IF THE CURRENT MAJOR MODE IS NOT EQUAL TO THE NEW REQUEST, A CHECK IS MADE TO SEE IF THE REQUEST- # 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, # ED MAJOR MODE HAS BEEN RUNNING THE BACKGROUND,
# AND IF IT HAS, NO NEW PROGRAM IS SCHEDULED, THE EXISTING # AND IF IT HAS, NO NEW PROGRAM IS SCHEDULED, THE EXISTING
# P20 IS RESTARTED TO CONTINUE, AND ITS MAJORE MODE IS SET. # P20 IS RESTARTED TO CONTINUE, AND ITS MAJOR MODE IS SET.
# 3. CONTROL IS TRANSFERRED TO GOPROG2. # 3. CONTROL IS TRANSFERRED TO GOPROG2.
# C. PROGRAM SELECTED IS NEITHER P00 NOR P20 # C. PROGRAM SELECTED IS NEITHER P00 NOR P20
# 1. V37XEQ IS SCHEDULED (AS A JOB) BY SETTING RESTART GROUP 4 # 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 # 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, # GROUPS. GROUP 2 IS CLEARED. IF THE RENDEZVOUS FLAG IS ON P20 IS RESTARTED IN GOPROG2 VIA REDOP20,
# TO CONTINUE. # TO CONTINUE.
#
# INPUT/OUTPUT INFORMATION # INPUT/OUTPUT INFORMATION
#
# A. CALLING SEQUENCE # A. CALLING SEQUENCE
# CONTROL IS DIRECTED TO V37 BY THE VERBFAN ROUTINE. # CONTROL IS DIRECTED TO V37 BY THE VERBFAN ROUTINE.
# VERBFAN GOES TO C(VERBTAB+C(VERBREG)). VERB 37 = MMCHANG. # VERBFAN GOES TO C(VERBTAB+C(VERBREG)). VERB 37 = MMCHANG.
# MMCHANG EXECUTES A TC POSTJUMP, CADR V37. # MMCHANG EXECUTES A TC POSTJUMP, CADR V37.
#
# B. ERASABLE INITIALIZATION NONE # B. ERASABLE INITIALIZATION NONE
#
# C. OUTPUT # C. OUTPUT
# MAJOR MODE CHANGE # MAJOR MODE CHANGE
# Page 197 # Page 197
@ -781,15 +787,15 @@ V37N99 VN 3799
# D. DEBRIS # D. DEBRIS
# MMNUMBER, MPAC +1, MINDEX, BASETEMP +C(MINDEX), FLAGWRD0, FLAGWRD1, FLAGWRD2, MODREG, GOLOC -1, # MMNUMBER, MPAC +1, MINDEX, BASETEMP +C(MINDEX), FLAGWRD0, FLAGWRD1, FLAGWRD2, MODREG, GOLOC -1,
# GOLOC, GOLOC +1, GOLOC +2, BASETEMP, -PHASE2, PHASE2, -PHASE4 # GOLOC, GOLOC +1, GOLOC +2, BASETEMP, -PHASE2, PHASE2, -PHASE4
#
# PROGRAM ANALYSIS # PROGRAM ANALYSIS
#
# A. SUBROUTINES CALLED # A. SUBROUTINES CALLED
# ALARM, RELDSP, PINBRNCH, INTSTALL, ENGINOF2, ALLCOAST, V37KLEAN, GOPROG2, FALTON, FINDVAC, SUPERSW, # ALARM, RELDSP, PINBRNCH, INTSTALL, ENGINOF2, ALLCOAST, V37KLEAN, GOPROG2, FALTON, FINDVAC, SUPERSW,
# DSPMM # DSPMM
#
# B. NORMAL EXIT TC ENDOFJOB # B. NORMAL EXIT TC ENDOFJOB
#
# C. ALARMS 1520 (MAJOR MODE CHANGE NOT PERMITTED) # C. ALARMS 1520 (MAJOR MODE CHANGE NOT PERMITTED)
BLOCK 02 BLOCK 02
@ -886,7 +892,7 @@ AGAINMM TS MPAC +1
CA MPAC +1 CA MPAC +1
TS MINDEX # SAVE INDEX FOR LATER 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 MASK V37FLBIT
CCS A CCS A
TCF CANV37 # NO TCF CANV37 # NO
@ -945,12 +951,13 @@ DUMMYAD EXIT
COUNT 04/P00 COUNT 04/P00
P00H TC RELDSP # RELEASE DISPLAY SYSTEM P00H TC RELDSP # RELEASE DISPLAY SYSTEM
CAF PRIO5 # SET VARIABLE RESTART REGISTER FOR P00. CAF PRIO5 # SET VARIABLE RESTART REGISTER FOR P00.
TS PHSPRDT2 TS PHSPRDT2
INHINT INHINT
CS NODOBIT # TURN OFF NODOFLAG. CS NODOBIT # TURN OFF NODOFLAG
MASK FLAGWRD2 MASK FLAGWRD2
TS FLAGWRD2 TS FLAGWRD2
@ -967,15 +974,15 @@ P00H TC RELDSP # RELEASE DISPLAY SYSTEM
COUNT 04/V37 COUNT 04/V37
SEUDOP00 TS DNLSTCOD # SET UP APPROPRIATE DOWNLIST CODE SEUDOP00 TS DNLSTCOD # SET UP APPROPRIATE DOWNLIST.
# (OLD ONE WILL BE FINISHED FIRST)
# (OLD ONE WILL BE FINISHED FIRST)
CS OCT01120 # TURN OFF TRACK, TARG1, UPDATE FLAGS CS OCT01120 # TURN OFF TRACK, TARG1, UPDATE FLAGS
TS EBANKTEM TS EBANKTEM
MASK FLAGWRD1 MASK FLAGWRD1
TS FLAGWRD1 TS FLAGWRD1
GROUPKIL TC IBNKCALL # KILL GROUPS 3,5,6 GROUPKIL TC IBNKCALL # KILL GROUPS 3(5,6
CADR V37KLEAN CADR V37KLEAN
CCS MMNUMBER # IS IT P00H CCS MMNUMBER # IS IT P00H
@ -1038,7 +1045,7 @@ NOUVEAU CAF RNDVZBIT
MASK FLAGWRD0 MASK FLAGWRD0
CCS A CCS A
TCF +3 TCF +3
TC DOWNFLAG # NO, RESET IMUINUSE FLAG TC DOWNFLAG # NO, RESET IMUSE FLAG.
ADRES IMUSE # BIT 8 FLAG 0 ADRES IMUSE # BIT 8 FLAG 0
+3 INDEX MINDEX +3 INDEX MINDEX
CAF DNLADMM1 # OBTAIN NEW DOWNLIST ADDRESS CAF DNLADMM1 # OBTAIN NEW DOWNLIST ADDRESS
@ -1046,7 +1053,7 @@ NOUVEAU CAF RNDVZBIT
INHINT INHINT
TCF SEUDOP00 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 TCF V37BAD
OCT00010 EQUALS BIT4 OCT00010 EQUALS BIT4
@ -1061,7 +1068,7 @@ V37XEQ INHINT
TS PHSPRDT4 # PRESET GROUP4 RESTART PRIORITY TS PHSPRDT4 # PRESET GROUP4 RESTART PRIORITY
TS NEWPRIO # STORE PRIO FOR SPVAC 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 EXTEND
MP BIT8 MP BIT8
MASK LOW3 MASK LOW3
@ -1091,22 +1098,22 @@ INITSUB EXTEND
QXCH MPAC +1 QXCH MPAC +1
CAF EBANK6 # SET E6 FOR DEADBAND CODING CAF EBANK6 # SET E6 FOR DEADBAND CODING
TS EBANK # WILL BE RESET IN STARTSB2 TS EBANK # WILL BE RESET IN STARTSB2.
INHINT INHINT
TC STOPRATE TC STOPRATE
CA FLAGWRD9 # RESTORE DEADBAND CA FLAGWRD9 # RESTORE DEADBAND
MASK MAXDBBIT MASK MAXDBBIT
CCS A CCS A
TCF SETMAXER # MAX DE SELECTED TCF SETMAXER # MAX DB SELECTED
TC BANKCALL # MIN DE SELECTED TC BANKCALL # MIN DB SELECTED
CADR SETMINDB CADR SETMINDB
TCF RAKE TCF RAKE
SETMAXER TC BANKCALL SETMAXER TC BANKCALL
CADR SETMAXDB CADR SETMAXDB
RAKE CAF ELEVEN # THIS PART CLEARS FLAGWORD BITS. RAKE CAF ELEVEN # THIS PART CLEARS FLAGWORD BITS.
+1 TS MPAC # LOOP COMES HERE +1 TS MPAC # LOOP COMES HERE.
INDEX MPAC INDEX MPAC
CS FLAGTABL CS FLAGTABL
INDEX MPAC INDEX MPAC
@ -1114,7 +1121,7 @@ RAKE CAF ELEVEN # THIS PART CLEARS FLAGWORD BITS.
INDEX MPAC # PUT REVISED FLAGWORD BACK. INDEX MPAC # PUT REVISED FLAGWORD BACK.
TS FLAGWRD0 TS FLAGWRD0
CCS MPAC CCS MPAC
TCF RAKE +1 # GET THE NEXT FLAGWORD TCF RAKE +1 # GET THE NEXT FLAGWORD.
RELINT RELINT
TC UPFLAG # NOW SET IMPULSW 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, # INTO THE TABLE WITH THE ENTRY FOR THE HIGHEST MAJOR MODE COMING FIRST,
# Page 206 # Page 206
# TO THE LOWEST MAJOR MODE WHICH IS THE LAST ENTRY IN EACH TABLE. # 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, # THE MAJOR MODE. FOR EXAMPLE,
#
# FCADRMM1 FCADR P79 # START OF P 79 # FCADRMM1 FCADR P79 # START OF P 79
# FCADR PROG18 # START OF P 18 # FCADR PROG18 # START OF P 18
# FCADR P01 # START OF P 01 # FCADR P01 # START OF P 01
@ -1283,7 +1290,7 @@ FCADRMM1 EQUALS
# 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, # INFORMATION, IT IS IN THE FOLLOWING FORM,
#
# PPP PPE EEM MMM MMM # PPP PPE EEM MMM MMM
# #
# Page 207 # Page 207
@ -1291,9 +1298,9 @@ FCADRMM1 EQUALS
# 3 E BITS CONTAIN THE E-BANK NUMBER # 3 E BITS CONTAIN THE E-BANK NUMBER
# 5 P BITS CONTAIN THE PRIORITY AT WHICH THE JOB IS # 5 P BITS CONTAIN THE PRIORITY AT WHICH THE JOB IS
# TO BE STARTED # TO BE STARTED
#
# FOR EXAMPLE, # FOR EXAMPLE,
#
# PREMM1 OCT 67213 # PRIORITY 33 # PREMM1 OCT 67213 # PRIORITY 33
# # E-BANK 5 # # E-BANK 5
# # MAJOR MODE 11 # # MAJOR MODE 11
@ -1303,7 +1310,7 @@ FCADRMM1 EQUALS
PREMM1 EQUALS PREMM1 EQUALS
OCT 27117 # MM 79 EBANK 4 PRIO 13 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 27115 # MM 77 EBANK 4 PRIO 13
OCT 27714 # MM 76 EBANK 4 PRIO 13 OCT 27714 # MM 76 EBANK 4 PRIO 13
OCT 27113 # MM 75 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= TIME2SAV # EBANK SETTING REQUIRED BY MM 06
EBANK= QPLACE # EBANK SETTING REQUIRED BY MM 01 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) # THAT CAN BE CALLED FROM THE KEYBOARD MINUS ONE)
EPREMM1 EQUALS # END OF PREMM1 TABLE EPREMM1 EQUALS # END OF PREMM1 TABLE
@ -1377,6 +1385,7 @@ NO.MMS =MINUS EPREMM1 # THE "NOV37MM" CONSTANT AS ENTRIES ARE
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 DNLADMM1 EQUALS
ADRES RENDEZVU # P79 ADRES RENDEZVU # P79
ADRES RENDEZVU # P78 ADRES RENDEZVU # P78
@ -1412,7 +1421,6 @@ DNLADMM1 EQUALS
ADRES RENDEZVU # P17 ADRES RENDEZVU # P17
ADRES COSTALIN # P06 ADRES COSTALIN # P06
ADRES COSTALIN # P01 ADRES COSTALIN # P01
DNLADP00 = ZERO DNLADP00 = ZERO
COSTALIN = 0 COSTALIN = 0
ENTRYUPD = 1 ENTRYUPD = 1
@ -1420,11 +1428,9 @@ RENDEZVU = 2
POWERED = 3 POWERED = 3
P22DNLST = 4 P22DNLST = 4
# ORBITAL INTEGRATION CONSTANTS # ORBITAL INTEGRATION CONSTANTS
# THESE CONSTANTS ARE USED IN COMPUTING THE SETTING OF MIDFLAG. # THESE CONSTANTS ARE USED IN COMPUTING THE SETTING OF MIDFLAG.
RMM 2DEC 2538.09 E3 B-27 # 800 KM ABOVE LUNAR SURFACE RMM 2DEC 2538.09 E3 B-27 # 800 KM ABOVE LUNAR SURFACE
RME 2DEC 7178165 B-29 # 800 KM ABOVE EQ. RADIUS RME 2DEC 7178165 B-29 # 800 KM ABOVE EQ. RADIUS
@ -1467,8 +1473,8 @@ STATEND CLRGO
NODOFLAG NODOFLAG
ENDINT ENDINT
# THISVINT IS CALLED BY MIDTOAV1 AND2 # THISVINT IS CALLED BY MIDTOAV1 AND2
THISVINT SET RVQ THISVINT SET RVQ
VINTFLAG VINTFLAG