1243 lines
27 KiB
Plaintext
1243 lines
27 KiB
Plaintext
# Copyright: Public domain.
|
|
# Filename: FRESH_START_AND_RESTART.agc
|
|
# Purpose: Part of the source code for Luminary 1A build 099.
|
|
# It is part of the source code for the Lunar Module's (LM)
|
|
# Apollo Guidance Computer (AGC), for Apollo 11.
|
|
# Assembler: yaYUL
|
|
# Contact: Hartmuth Gutsche <hgutsche@xplornet.com>.
|
|
# Website: www.ibiblio.org/apollo.
|
|
# Pages: 211-237
|
|
# Mod history: 2009-05-19 HG Transcribed from page images.
|
|
# 2010-12-31 JL Fixed page number comments.
|
|
# 2011-01-06 JL Fixed pseudo-label indentation.
|
|
# 2011-01-06 JL Added missing comment characters.
|
|
#
|
|
# This source code has been transcribed or otherwise adapted from
|
|
# digitized images of a hardcopy from the MIT Museum. The digitization
|
|
# was performed by Paul Fjeld, and arranged for by Deborah Douglas of
|
|
# the Museum. Many thanks to both. The images (with suitable reduction
|
|
# in storage size and consequent reduction in image quality as well) are
|
|
# available online at www.ibiblio.org/apollo. If for some reason you
|
|
# find that the images are illegible, contact me at info@sandroid.org
|
|
# about getting access to the (much) higher-quality images which Paul
|
|
# actually created.
|
|
#
|
|
# Notations on the hardcopy document read, in part:
|
|
#
|
|
# Assemble revision 001 of AGC program LMY99 by NASA 2021112-61
|
|
# 16:27 JULY 14, 1969
|
|
|
|
# Page 211
|
|
BANK 10
|
|
SETLOC FRANDRES
|
|
BANK
|
|
|
|
EBANK= LST1
|
|
|
|
COUNT* $$/START # FRESH AND RESTART
|
|
SLAP1 INHINT # FRESH START. COMES HERE FROM PINBALL.
|
|
TC STARTSUB # SUBROUTINE DOES MOST OF THE WORK
|
|
|
|
STARTSW TCF SKIPSIM # PATCH....TCF STARTSIM FOR SIMULATION
|
|
STARTSIM CAF BIT14
|
|
TC FINDVAC
|
|
SIM2CADR OCT 77777 # PATCH 2CADR (AND EBANK DESIGNATION) OF
|
|
OCT 77777 # SIMULATION START ADDRESS.
|
|
|
|
SKIPSIM CA DSPTAB +11D # TURN OFF ALL DSPTAB +11D LAMPS
|
|
MASK BITS4&6 # EXCEPT THE GIMBAL LOCK & NO ATT ONLY ON
|
|
AD BIT15 # REQUESTED FRESH START.
|
|
TS DSPTAB +11D
|
|
|
|
CA BIT12 # INITIALIZE DOWNLINK EARASABLE MEMORY
|
|
TS DUMPCNT # DUMP FOR ONE PASS
|
|
|
|
CA ZERO
|
|
TS ERCOUNT
|
|
TS FAILREG
|
|
TS FAILREG +1
|
|
TS FAILREG +2
|
|
TS REDOCTR
|
|
|
|
CS PRIO12
|
|
TS DSRUPTSW
|
|
|
|
DOFSTART CAF BIT14 # INSURE ENGINE IS OFF.
|
|
EXTEND
|
|
WRITE DSALMOUT
|
|
CS ZERO
|
|
TS THRUST
|
|
|
|
DOFSTRT1 CAF FOUR
|
|
TS RCSFLAGS # INITIALIZE ATTITUDE ERROR DISPLAYS.
|
|
CA PRIO30
|
|
TS RESTREG # SUPER BANK PRIORITY FOR DISPLAYS.
|
|
|
|
CA ZERO
|
|
TS ABDELV # DAP INITIALIZATION
|
|
TS NVSAVE
|
|
TS EBANKTEM
|
|
# Page 212
|
|
TS CH5MASK
|
|
TS CH6MASK
|
|
TS PVALVEST # FOR RCS FAILURE MONITOR
|
|
TS ERESTORE # ***** MUST NOT BE REMOVED FROM DOFSTART
|
|
TS SMODE # ***** MUST NOT BE REMOVED FROM DOFSTART
|
|
TS DNLSTCOD # SELECT P00 DOWNLIST
|
|
TS AGSWORD # ALLOW AGS INITIALIZATION
|
|
TS UPSVFLAG # ZERO UPDATE STATE VECTOR REQUEST FLAGWRD
|
|
EXTEND
|
|
WRITE CHAN5 # TURN OFF RCS JETS.
|
|
EXTEND
|
|
WRITE CHAN6 # TURN OFF RCS JETS.
|
|
EXTEND
|
|
WRITE CHAN12
|
|
EXTEND
|
|
WRITE CHAN13
|
|
EXTEND
|
|
WRITE CHAN14
|
|
CS DSPTAB +11D
|
|
MASK BITS4&6
|
|
CCS A
|
|
TC +4
|
|
CA BITS4&6
|
|
EXTEND # THE IMU WAS IN COARSE ALIGN IN GIMBAL
|
|
WOR CHAN12 # LOCK, SO PUT IT BACK INTO COARSE ALIGN.
|
|
+4 TC MR.KLEAN
|
|
|
|
CS ZERO
|
|
TS MODREG
|
|
|
|
CAF IM30INIF # FRESH START IMU INITIALIZATION
|
|
TS IMODES30
|
|
|
|
CAF MAXDB
|
|
TS DB
|
|
CAF FOUR
|
|
TS RATEINDX # INITIALZE KALCMANU RATE
|
|
CA BOOLSTRT
|
|
TS DAPBOOLS
|
|
CAF EBANK6
|
|
TS EBANK
|
|
EBANK= HIASCENT
|
|
|
|
CA STIKSTRT
|
|
TS STIKSENS
|
|
CA RATESTRT
|
|
TS -RATEDB
|
|
CAF FULLAPS # INITIALIZE MAXIMUM ASCENT MASS FOR USE
|
|
TS HIASCENT # BY 1/ACCS UNTIL THE PAD LOAD IS DONE.
|
|
CA 77001OCT # LOAD DAP FILTER GAINS PAD LOAD.
|
|
# Page 213
|
|
TS DKTRAP # TO BEST PRESENT ESTIMATE OF GOODIES
|
|
TS LMTRAP # .14 DEG
|
|
CA 60DEC
|
|
TS DKKAOSN
|
|
TS LMKAOSN # 6 SEC GAIN FOR ALPHA
|
|
CA ZERO
|
|
TS LMOMEGAN # UNITY GAIN
|
|
CA TEN
|
|
TS DKOMEGAN # 1 SEC GAIN FOR OMEGA
|
|
CAF BIT8 # SET DOCKED DB TO 1.4 DEG. MAY OVERWRITE
|
|
TS DKDB # WITH PAD LOAD.
|
|
CAF IM33INIT
|
|
AD BIT6 # KEEP BOTH DAP AND ERROR-NEEDLES DISPLAY
|
|
TS IMODES33 # OFF UNTIL ICDU ZERO IS FINISHED.
|
|
|
|
EXTEND # INITIALIZE SWITCHES ONLY ON FRESH START.
|
|
DCA SWINIT
|
|
DXCH STATE
|
|
CA SWINIT +2
|
|
TS STATE +2
|
|
CA REFSMBIT # DO NOT ALTER REFSMFLG ON FRESH START.
|
|
MASK STATE +3
|
|
AD SWINIT +3
|
|
TS STATE +3
|
|
EXTEND
|
|
DCA SWINIT +4
|
|
DXCH STATE +4
|
|
EXTEND
|
|
DCA SWINIT +6
|
|
DXCH STATE +6
|
|
CA SURFFBIT # DO NOT ALTER SURFFLAG ON FRESH START.
|
|
AD CMOONBIT # CMOONFLG
|
|
AD LMOONBIT # LMOONFLG
|
|
MASK STATE +8D
|
|
AD SWINIT +8D
|
|
TS STATE +8D
|
|
CA SWINIT +9D
|
|
TS STATE +9D
|
|
CA APSFLBIT # DO NOT ALTER APSFLAG ON FRESH START.
|
|
MASK STATE +10D
|
|
AD SWINIT +10D
|
|
TS STATE +10D
|
|
CAF SWINIT +11D
|
|
TS STATE +11D
|
|
|
|
ENDRSTRT TC POSTJUMP # NOW IN ANOTHER BANK.
|
|
CADR DUMMYJOB +2 # PICKS UP AT RELINT. (DON'T ZERO NEWJOB)
|
|
|
|
MR.KLEAN INHINT
|
|
# Page 214
|
|
EXTEND
|
|
DCA NEG0
|
|
DXCH -PHASE2
|
|
P00KLEAN EXTEND
|
|
DCA NEG0
|
|
DXCH -PHASE4
|
|
V37KLEAN EXTEND
|
|
DCA NEG0
|
|
DXCH -PHASE1
|
|
EXTEND
|
|
DCA NEG0
|
|
DXCH -PHASE3
|
|
EXTEND
|
|
DCA NEG0
|
|
DXCH -PHASE5
|
|
EXTEND
|
|
DCA NEG0
|
|
DXCH -PHASE6
|
|
TC Q
|
|
|
|
# Page 215
|
|
# COMES HERE FROM LOCATION 4000, GOJAM, RESTART ANY PROGRAMS WHICH MAY HAVE BEEN RUNNING AT THE TIME.
|
|
|
|
EBANK= LST1
|
|
GOPROG INCR REDOCTR # ADVANCE RESTART COUNTER.
|
|
|
|
LXCH Q
|
|
EXTEND
|
|
ROR SUPERBNK
|
|
DXCH RSBBQ
|
|
CA DSPTAB +11D
|
|
MASK BIT4
|
|
EXTEND
|
|
BZF +4
|
|
AD BIT6 # SET ERROR COUNTER ENABLE
|
|
EXTEND
|
|
WOR CHAN12 # ISS WAS IN COARSE ALIGN SO GO BACK TO
|
|
BUTTONS TC LIGHTSET
|
|
|
|
# ERASCHK TEMPORARILY STORES THE CONTENST 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
|
|
# C(ERESTORE) SHOULD EQUAL +0.
|
|
|
|
CAF HI5
|
|
MASK ERESTORE
|
|
EXTEND
|
|
BZF +2 # IF ERESTORE NOT = +0 OR +N LESS THAN 2K,
|
|
TCF NONAVKEY +3 # DO FRESH START -- E MEMORY MIGHT BE BAD
|
|
CS ERESTORE
|
|
EXTEND
|
|
BZF DORSTART # = +0 CONTINUE WITH RESTART.
|
|
AD SKEEP7
|
|
EXTEND
|
|
BZF +2 # = SKEEP7, RESTORE E MEMORY.
|
|
TCF NONAVKEY +3 # DO FRESH START -- E MEMORY MIGHT BE BAD
|
|
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
|
|
CA ZERO
|
|
TS ERESTORE
|
|
DORSTART TC STARTSUB # DO INITIALIZATION AFTER ERASE RESTORE.
|
|
|
|
SETINFL CS INTFLBIT
|
|
MASK FLGWRD10
|
|
TS FLGWRD10
|
|
# Page 216
|
|
CA 9,6,4 # LEAVE PROG ALARM, GIMBAL LOCK, NO ATT
|
|
MASK DSPTAB +11D # LAMPS INTACT ON HARDWARE RESTART
|
|
AD BIT15
|
|
XCH DSPTAB +11D
|
|
CAF IFAILINH # LEAVE IMU FAILURE INHIBITS INTACT ON
|
|
MASK IMODES30 # HARDWARE RESTART, RESET ALL FAILURE
|
|
AD IM30INIR # CODES.
|
|
TS IMODES30
|
|
|
|
CA AGSWORD # BE SURE OF CORRECT DOWNLIST
|
|
TS DNLSTCOD
|
|
|
|
CA BIT4 # TURN ON THROTTLE COUNTER
|
|
EXTEND
|
|
WOR CHAN14 # TURN ON THRUST DRIVE
|
|
CS FLAGWRD5
|
|
MASK ENGONBIT
|
|
CCS A
|
|
TCF +5
|
|
CAF BIT13
|
|
EXTEND
|
|
WOR DSALMOUT # TURN ENGINE ON
|
|
TCF GOPROG3
|
|
+5 CAF BIT14
|
|
EXTEND
|
|
WOR DSALMOUT # TURN ENGINE OFF
|
|
TCF GOPROG3
|
|
|
|
ENEMA INHINT
|
|
TC STARTSB1
|
|
TCF GOPROG2A
|
|
GOPROG2 TC STARTSB2
|
|
GOPROG2A TC LIGHTSET
|
|
CS RSFLGBTS # CLEAR BITS 7 AND 14.
|
|
MASK FLGWRD10
|
|
TS FLGWRD10
|
|
|
|
GOPROG3 CAF NUMGRPS # VERIFY PHASE TABLE AGREEMENTS
|
|
PCLOOP TS MPAC +5
|
|
DOUBLE
|
|
EXTEND
|
|
INDEX A
|
|
DCA -PHASE1 # COMPLEMENT INTO A, DIRECT INTO L.
|
|
EXTEND
|
|
RXOR LCHAN # RESULT MUST BE -0 FOR AGREEMENT.
|
|
CCS A
|
|
TCF PTBAD # RESTART FAILURE.
|
|
TCF PTBAD
|
|
TCF PTBAD
|
|
# Page 217
|
|
CCS MPAC +5 # PROCESS ALL RESTART GROUPS.
|
|
TCF PCLOOP
|
|
|
|
TS MPAC +6 # SET TO +0.
|
|
TC MMDSPLAY # DISPLAY MAJOR MODE
|
|
|
|
INHINT # RELINT DONE IN MMDSPLAY
|
|
|
|
CS DIDFLBIT # CLEAR DIDFLAG IN ORDER TO FORCE R10 TO
|
|
MASK FLAGWRD1 # RE-INITIALIZE ITSELF IF IT HAD BEEN
|
|
TS FLAGWRD1 # OPERATION AT THE TIME OF THE RESTART.
|
|
|
|
CS RODFLBIT # CLEAR RODFLAG. IF P66 IS IN OPERATION
|
|
MASK FLAGWRD1 # IT WILL RE-INITIALIZE ITSELF AND
|
|
TS FLAGWRD1 # CONTINUE.
|
|
|
|
CS P21FLBIT # CLEAR P21 FLAG SO THAT P21 WILL COMPUTE
|
|
MASK FLAGWRD0 # NEW BASE STATE VECTORS.
|
|
TS FLAGWRD0
|
|
|
|
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.
|
|
|
|
PACTIVE TS MPAC
|
|
INCR MPAC # ABS OF PHASE.
|
|
INCR MPAC +6 # INDICATE GROUP DEMANDS PRESENT.
|
|
CA RACTCADR
|
|
TC SWCALL # MUST RETURN TO SWRETURN.
|
|
|
|
PINACT CCS MPAC +5 # PROCESS ALL RESTART GROUPS.
|
|
TCF NXTRST
|
|
|
|
CCS MPAC +6 # NO, CHECK PHASE ACTIVITY FLAG
|
|
TCF ENDRSTRT # PHASE ACTIVE
|
|
CAF BIT15 # IS MODE -0
|
|
MASK MODREG
|
|
EXTEND
|
|
BZF GOTOP00H # NO
|
|
TCF ENDRSTRT # YES
|
|
PTBAD TC ALARM # SET ALARM TO SHOW PHASE TABLE FAILURE.
|
|
OCT 1107
|
|
|
|
TCF DOFSTRT1
|
|
#******** ****** ******
|
|
# Page 218
|
|
# DO NOT USE GOPROG2 OR ENEMA WITHOUT CONSULTING P00H PEOPLE.
|
|
|
|
OCT10000 = BIT13
|
|
OCT30000 = PRIO30
|
|
OCT7777 OCT 7777
|
|
STIKSTRT DEC 0.825268 # 20 D/S MAXIMUM COMPANDED RATE
|
|
RATESTRT DEC -218
|
|
RACTCADR CADR RESTARTS
|
|
BOOLSTRT OCT 21312
|
|
77001OCT OCT 77001 # .14 DEG SCALED AT 4.5 DEG
|
|
60DEC DEC 60
|
|
RSFLGBTS OCT 20100
|
|
MAXDB OCTAL 03434 # 5 DEG ATTITUDE DEADBAND, SCALED AT 45.
|
|
|
|
LIGHTSET CAF BIT5 # CHECK FOR MARK REJECT AND ERROR RESET
|
|
EXTEND
|
|
RAND NAVKEYIN
|
|
EXTEND
|
|
BZF NONAVKEY # NO MARK REJECT
|
|
EXTEND
|
|
READ MNKEYIN # CHECK IF KEYS 2M AND 5M ON
|
|
AD -ELR # MAIN DSKY KEYCODE (BITS 1-5)
|
|
EXTEND
|
|
BZF +2
|
|
|
|
NONAVKEY TC Q
|
|
|
|
TC STARTSUB
|
|
TCF DOFSTART
|
|
+3 TC STARTSUB
|
|
TCF DOFSTRT1 # DO FRESH START BUT DON'T TOUCH ENGINE
|
|
|
|
# Page 219
|
|
# INITIALIZATION COMMON TO BOTH FRESH START AND RESTART.
|
|
|
|
EBANK= AOSQ
|
|
STARTSUB CAF LDNPHAS1 # SET POINTER SO NEXT 20MS DOWNRUPT WILL
|
|
TS DNTMGOTO # CAUSE THE CURRENT DOWNLIST TO BE
|
|
# INTERRUPTED AND START SENDING FROM THE
|
|
# BEGINNING OF THE CURRENT DOWNLIST.
|
|
CAF BIT6
|
|
EXTEND
|
|
RAND CHAN33
|
|
AD RMODINIT
|
|
TS RADMODES
|
|
|
|
STARTSB1 CAF POSMAX
|
|
TS TIME3
|
|
AD MINUS2
|
|
TS TIME4
|
|
AD NEGONE
|
|
TS TIME5
|
|
|
|
CAF EBANK6
|
|
TS EBANK
|
|
|
|
CS BIT13 # CAUSE DAPIDLER TO CALL 1/ACCS
|
|
MASK RCSFLAGS
|
|
TS RCSFLAGS # ZERO BIT 13
|
|
CAF POSMAX # DISABLE TIME6 CLOCK. JUST IN CASE A T6
|
|
TS T6NEXT # RUPT IS ALREADY IN THE PRIORITY CHAIN,
|
|
EXTEND # ENSURE THAT ITS INPUTS WILL RENDER IT
|
|
WAND CHAN13 # INEFFECTUAL.
|
|
CAF ZERO
|
|
TS NXT6ADR
|
|
TS NEXTP
|
|
|
|
CS ACCSOKAY
|
|
MASK DAPBOOLS
|
|
TS DAPBOOLS
|
|
|
|
EXTEND # SET T5RUPT FOR DAPIDLER PROGRAM.
|
|
DCA IDLEADR
|
|
DXCH T5ADR
|
|
|
|
STARTSB2 CAF OCT30001 # DURING SOFTWARE RESTART, DO NOT DISTURB
|
|
EXTEND # ENGINE ON, OFF AND ISS WARNING.
|
|
WAND DSALMOUT
|
|
|
|
CS READRBIT # CLEAR READRFLG FOR R29
|
|
MASK FLAGWRD3
|
|
TS FLAGWRD3
|
|
# Page 220
|
|
|
|
CS FLAGWRD3 # DURING SOFTWARE RESTART, CLEAR TURNON,
|
|
MASK NR29FBIT # REPOSITION, CDU ZERO AND REMODE BITS
|
|
EXTEND # IN RADMODES, SINCE TASKS ASSOCIATED
|
|
BZF +2 # WITH THESE BITS HAVE BEEN KILLED
|
|
CAF BIT10 # ALSO IF R29 HAD BEEN REQUESTED.
|
|
AD OCT32001 # (NOR29FLG = 0) CLEAR BIT 10 RADMODES
|
|
COM # TO MAKE R29 FORGET IT HAD STARTED
|
|
MASK RADMODES # DESIGNATING
|
|
TS RADMODES
|
|
CAF OCT27470 # DURING SOFTWARE RESTART, DO NOT DISTURB
|
|
EXTEND # IMU FLAGS. (COARSE ALIGN ENABLE, ZERO
|
|
WAND CHAN12 # IMU CDUS, ENABLE IMU COUNTER) AND GIMBAL
|
|
# TRIM DRIVES. LEAVE RR LOCKON ENABLE
|
|
# ALONE.
|
|
|
|
CS NORRMBIT # ENABLE R25.
|
|
MASK FLAGWRD5
|
|
TS FLAGWRD5
|
|
|
|
CS R77FLBIT # CLEAR R77FLAG
|
|
MASK FLAGWRD5
|
|
TS FLAGWRD5
|
|
CAF OCT74160 # DURING SOFTWARE RESTART, DO NOT DISTURB
|
|
EXTEND # TELEMETRY FLAGS, RESET TRAP FLAGS, AND
|
|
WAND CHAN13 # ENABLE T6RUPT FLAG.
|
|
|
|
CAF BIT12 # REENABLE RUPT10 (RUPT QUICKLY
|
|
EXTEND # RESUMES EXCEPT DURING P64)
|
|
WOR CHAN13
|
|
|
|
CAF BIT6 # DURING SOFTWARE RESTART, DO NOT DISTURB
|
|
EXTEND # GYRO ENABLE FLAG.
|
|
WAND CHAN14
|
|
|
|
EBANK= LST1
|
|
CAF STARTEB
|
|
TS EBANK # SET FOR E3
|
|
|
|
CAF NEG1/2 # INITIALIZE WAITLIST DELTA-TS.
|
|
TS LST1 +7
|
|
TS LST1 +6
|
|
TS LST1 +5
|
|
TS LST1 +4
|
|
TS LST1 +3
|
|
TS LST1 +2
|
|
TS LST1 +1
|
|
TS LST1
|
|
|
|
CS ENDTASK
|
|
TS LST2
|
|
# Page 221
|
|
TS LST2 +2
|
|
TS LST2 +4
|
|
TS LST2 +6
|
|
TS LST2 +8D
|
|
TS LST2 +10D
|
|
TS LST2 +12D
|
|
TS LST2 +14D
|
|
TS LST2 +16D
|
|
CS ENDTASK +1
|
|
TS LST2 +1
|
|
TS LST2 +3
|
|
TS LST2 +5
|
|
TS LST2 +7
|
|
TS LST2 +9D
|
|
TS LST2 +11D
|
|
TS LST2 +13D
|
|
TS LST2 +15D
|
|
TS LST2 +17D
|
|
|
|
CS ZERO # MAKE ALL EXECUTIVE REGISTER SETS
|
|
TS PRIORITY # AVAILABLE.
|
|
TS PRIORITY +12D
|
|
TS PRIORITY +24D
|
|
TS PRIORITY +36D
|
|
TS PRIORITY +48D
|
|
TS PRIORITY +60D
|
|
TS PRIORITY +72D
|
|
TS PRIORITY +84D
|
|
|
|
TS DSRUPTSW
|
|
TS NEWJOB # SHOWS NO ACTIVE JOBS.
|
|
|
|
CAF VAC1ADRC # MAKE ALL VAC AREAS AVAILABLE.
|
|
TS VAC1USE
|
|
AD LTHVACA
|
|
TS VAC2USE
|
|
AD LTHVACA
|
|
TS VAC3USE
|
|
AD LTHVACA
|
|
TS VAC4USE
|
|
AD LTHVACA
|
|
TS VAC5USE
|
|
|
|
CAF TEN
|
|
DSPOFF TS MPAC # R1, R2, R3
|
|
CS BIT12
|
|
INDEX MPAC
|
|
TS DSPTAB
|
|
CCS MPAC
|
|
TCF DSPOFF
|
|
|
|
# Page 222
|
|
TS DELAYLOC
|
|
TS DELAYLOC +1
|
|
TS DELAYLOC +2
|
|
TS R1SAVE
|
|
TS INLINK
|
|
TS DSPCNT
|
|
TS CADRSTOR
|
|
TS REQRET
|
|
TS CLPASS
|
|
TS DSPLOCK
|
|
TS MONSAVE # KILL MONITOR
|
|
TS MONSAVE1
|
|
TS VERBREG
|
|
TS NOUNREG
|
|
TS DSPLIST
|
|
TS MARKSTAT
|
|
TS EXTVBACT # MAKE EXTENDED VERBS AVAILABLE
|
|
TS IMUCADR
|
|
TS OPTCADR
|
|
TS RADCADR
|
|
TS ATTCADR
|
|
TS LGYRO
|
|
TS FLAGWRD4 # KILL INTERFACE DISPLAYS
|
|
CAF NOUTCON
|
|
TS NOUT
|
|
|
|
CS ONE
|
|
TS SAMPLIM
|
|
CAF BIT6
|
|
MASK IMODES33 # LEAVE BIT 6 UNCHANGED
|
|
AD IM33INIT # NO PIP OR TM FAILS. BIT6=0 IN THIS WORD.
|
|
TS IMODES33
|
|
|
|
CAF LESCHK # SELF CHECK GO-TO REGISTER.
|
|
TS SELFRET
|
|
|
|
CS VD1
|
|
TS DSPCOUNT
|
|
|
|
TC Q
|
|
EBANK= AOSQ
|
|
IDLEADR 2CADR DAPIDLER
|
|
|
|
IFAILINH OCT 435
|
|
LDNPHAS1 GENADR DNPHASE1
|
|
LESCHK GENADR SELFCHK
|
|
VAC1ADRC ADRES VAC1USE
|
|
OCT32001 OCT 32001
|
|
LTHVACA DEC 44
|
|
|
|
# Page 223
|
|
OCT27470 OCT 27470
|
|
OCT74160 OCT 74160
|
|
OCT30001 OCT 30001
|
|
STARTEB EQUALS EBANK3
|
|
NUMGRPS EQUALS FIVE
|
|
-ELR OCT -22 # -ERROR LIGHT RESET KEY CODE.
|
|
IM30INIF OCT 37411 # INHIBITS IMU FAIL FOR 5 SEC AND PIP ISSW
|
|
IM30INIR OCT 37000
|
|
IM33INIT = PRIO16 # NO PIP OR TM FAIL SIGNALS.
|
|
9,6,4 OCT 450
|
|
RMODINIT OCT 00102
|
|
SWINIT OCT 0
|
|
OCT 0
|
|
OCT 0
|
|
OCT 02000 # BIT 11 = NOR29FLG
|
|
OCT 0
|
|
OCT 0
|
|
OCT 0
|
|
OCT 00100
|
|
|
|
OCT 0
|
|
OCT 0
|
|
OCT 0
|
|
OCT 40000 # BIT 15 = LRBYPASS.
|
|
|
|
# Page 224
|
|
# PROGRAM NAME GOTOP00H ASSEMBLY SUNDANCE
|
|
# LOG SECTION FRESH START AND RESTART
|
|
#
|
|
# FUNCTIONAL DESCRIPTION
|
|
#
|
|
# FLASH V 37 ON DSKY MM CHANGE REQUEST
|
|
#
|
|
# INPUT/OUTPUT INFORMATION
|
|
#
|
|
# A. CALLING SEQUENCE TC GOTOP00H
|
|
# B. ERASABLE INITIALIZATION NONE
|
|
# C. OUTPUT FLASH V 37 ON DSKY
|
|
# D. DEBRIS L
|
|
#
|
|
# PROGRAM ANALYSIS
|
|
#
|
|
# A. SUBROUTINES CALLED PRIODSPR, LINUS
|
|
# B. NORMAL EXIT TCF ENDOFJOB
|
|
# C. ALARM AND ABORT EXITS NONE
|
|
|
|
BLOCK 03
|
|
SETLOC FFTAG5
|
|
BANK
|
|
|
|
COUNT* $$/P00
|
|
GOTOP00H CAF OCT33 # 4.33 SPOT FOR GOP00FIX
|
|
TS L
|
|
COM
|
|
DXCH -PHASE4
|
|
|
|
TC POSTJUMP
|
|
CADR GOP00FIX
|
|
OCT24 MM 20
|
|
OCT31 MM 25
|
|
|
|
BANK 20
|
|
SETLOC VERB37
|
|
BANK
|
|
|
|
COUNT* $$/P00 # VERB 37 AND P00 IN BANK 4.
|
|
GOP00FIX TC DOWNFLAG # ALLOW X-AXIS OVERRIDE
|
|
ADRES XOVINFLG
|
|
|
|
TC DOWNFLAG # INSURE THAT ULLAGE IS OFF
|
|
ADRES ULLAGFLG
|
|
# Page 225
|
|
TC CLEARMRK +2 # RELEASE MARK DISPLAY SYSTEM.
|
|
CAF V37N99
|
|
TC BANKCALL
|
|
CADR GOFLASH
|
|
TCF -3
|
|
TCF -4
|
|
TCF -5
|
|
|
|
V37N99 VN 3799
|
|
|
|
# Page 226
|
|
# PROGRAM NAME V37 ASSEMBLY SUNDANCE
|
|
#
|
|
# 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.
|
|
# 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.
|
|
# 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 AND UPDATE 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 AND P25 FLAGS ARE RESET. (KILL P20 AND P25)
|
|
# 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 OR P25.
|
|
# 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 OR P25 IS RESTARTED TO CONTINUE, AND ITS MM IS SET.
|
|
# 3. CONTROL IS TRANSFERRED TO GOPROG2.
|
|
# C. PROGRAM SELECTED IS NEITHER P00, P20, NOR P25
|
|
# 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. IF THE RENDEZVOUS OR THE P25 FLAG IS ON, GROUP 2 IS NOT CLEARED, ALLOWING THESE PROGRAMS
|
|
# TO CONTINUE.
|
|
#
|
|
# INPUT/OUTPUT INFORMATION
|
|
#
|
|
# 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
|
|
# Page 227
|
|
# MAJOR MOD CHANGE
|
|
#
|
|
# 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
|
|
# 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)
|
|
|
|
V37 TS MMNUMBER # SAVE MAJOR MODE
|
|
CAF PRIO30 # RESTART AT PINBALL PRIORITY
|
|
TS RESTREG
|
|
|
|
CA IMODES30 # IS IMU BEING INITIALIZED
|
|
MASK BIT6
|
|
CCS A
|
|
TCF CANTROD
|
|
|
|
CS MMNUMBER # IS P70 REQUESTED?
|
|
AD DEC70
|
|
EXTEND
|
|
BZF SETUP70 # YES
|
|
AD ONE # IS P71 REQUESTED?
|
|
EXTEND
|
|
BZF SETUP71 # YES
|
|
|
|
CA MMNUMBER # IS NEW REQUEST P00
|
|
EXTEND
|
|
BZF ISSERVON # YES, CHECK SERVICER STATUS
|
|
|
|
CS FLAGWRD2 # NO, IS NODO V37 FLAG SET
|
|
MASK NODOBIT
|
|
CCS A
|
|
TCF CHECKTAB # NO
|
|
CANTROD TC ALARM
|
|
OCT 1520
|
|
|
|
V37BAD TC RELDSP # RELEASES DISPLAY FROM ASTRONAUT
|
|
|
|
TC POSTJUMP # BRING BACK LAST NORMAL DISPLAY IF THERE
|
|
CADR PINBRNCH # WAS ONE. OTHERWISE DO AN EOJ.
|
|
|
|
CHECKTAB CA NOV37MM # INDEX FOR MM TABLES.
|
|
|
|
# Page 228
|
|
AGAINMM TS MPAC +1
|
|
NDX MPAC +1
|
|
CA PREMM1 # OBTAIN WHICH MM THIS IS FOR
|
|
MASK LOW7
|
|
COM
|
|
AD MMNUMBER
|
|
CCS A
|
|
CCS MPAC +1 # IF GR, SEE IF ANY MORE IN LIST
|
|
TCF AGAINMM # YES, GET NEXT ONE
|
|
TCF V37NONO # LAST TIME OR PASSED MM
|
|
|
|
CA MPAC +1
|
|
TS MINDEX # SAVE INDEX FOR LATER
|
|
|
|
ISSERVON CS FLAGWRD7 # V37 FLAG SET -- I.E., IS SERVICER GOING
|
|
MASK V37FLBIT
|
|
CCS A
|
|
TCF CANV37 # NO
|
|
|
|
TC DOWNFLAG # YES, TURN OFF THE AVERAGE FLAG AND
|
|
ADRES AVEGFLAG # WAIT FOR SERVICER TO RETURN TO CANV37
|
|
|
|
CAF V37RETAD
|
|
TS OUTROUTE
|
|
|
|
TCF ENDOFJOB
|
|
|
|
V37RET CS FLAGWRD0 # IS P20 OR P22 RUNNING?
|
|
MASK RNDVZBIT
|
|
CCS A
|
|
TCF +2 # NO. CHECK FOR P25.
|
|
TCF 2.7SPT # YES. DO 2.7SPOT
|
|
CS FLAGWRD0 # IS P25 RUNNING?
|
|
MASK P25FLBIT
|
|
CCS A
|
|
2.0SPT CA OCT37667
|
|
2.11SPT AD BIT5
|
|
2.7SPT AD OCT40072
|
|
TC PHSCHNGA
|
|
|
|
CANV37 CAF ZERO
|
|
EXTEND
|
|
WRITE SUPERBNK
|
|
|
|
CAF R00AD
|
|
TS TEMPFLSH
|
|
|
|
TC PHASCHNG
|
|
OCT 14
|
|
|
|
# Page 229
|
|
|
|
R00 TC INTPRET
|
|
|
|
CALL # WAIT FOR INTEGRATION TO FINISH
|
|
INTSTALL
|
|
DUMMYAD EXIT
|
|
|
|
TC DOWNFLAG
|
|
ADRES 3AXISFLG # RESET 3-AXIT FLAG
|
|
|
|
CAF LRBYBIT # CLEAN UP THE R12 FLAGWORD.
|
|
TS FLGWRD11
|
|
|
|
TC DOWNFLAG # INSURE THAT THE R04FLAG IS CLEAR.
|
|
ADRES R04FLAG
|
|
|
|
TC DOWNFLAG # INSURE MUNFLAG IS CLEAR.
|
|
ADRES MUNFLAG
|
|
|
|
TC DOWNFLAG # ALLOW X-AXIS OVERRIDE.
|
|
ADRES XOVINFLG
|
|
CCS MMNUMBER # IS THIS A P00H REQUEST
|
|
TCF NOUVEAU # NO, PICK UP NEW PROGRAM
|
|
|
|
P00H TC RELDSP # RELEASE DISPLAY SYSTEM
|
|
|
|
CAF PRIO5 # SET VARIABLE RESTART PRIORITY FOR
|
|
TS PHSPRDT2 # P00 INTEGRATION.
|
|
|
|
TC CLRADMOD # CLRADMOD DOES AN INHINT.
|
|
|
|
CS NODOBIT # TURN OFF NODOFLAG.
|
|
MASK FLAGWRD2
|
|
TS FLAGWRD2
|
|
|
|
CA FIVE # SET RESTART FOR STATEINT1
|
|
TS L
|
|
COM
|
|
DXCH -PHASE2
|
|
|
|
CS OCT700 # TURN OFF P20, P25, IMU IN USE FLAG
|
|
MASK FLAGWRD0
|
|
TS FLAGWRD0 # REMDFLG
|
|
|
|
CAF DNLADP00
|
|
|
|
SEUDOP00 TS DNLSTCOD # SET UP APPROPRIATE DOWNLIST CODE
|
|
TS AGSWORD # (CURRENT LIST WILL BE COMPLETED BEFORE
|
|
# NEW ONE IS STARTED)
|
|
TC IBNKCALL
|
|
CADR ENGINOF1
|
|
|
|
# Page 230
|
|
TC IBNKCALL # INSURE ALLCOAST.
|
|
CADR ALLCOAST # DOES A RESTORDB.
|
|
|
|
CS OCT120 # TURN OFF TRACK, UPDATE FLAGS
|
|
TS EBANKTEM
|
|
MASK FLAGWRD1
|
|
TS FLAGWRD1
|
|
|
|
TC IBNKCALL # KILL GROUPS 1,3,5,6
|
|
CADR V37KLEAN
|
|
|
|
CCS MMNUMBER # IS IT P00H
|
|
TCF RENDV00 # NO
|
|
GOMOD TC IBNKCALL # REDUNDANT EXCEPT FOR GROUP 4
|
|
CADR P00KLEAN
|
|
|
|
CA MMNUMBER
|
|
TS MODREG
|
|
|
|
GOGOPROG TC POSTJUMP
|
|
CADR GOPROG2
|
|
|
|
RENDV00 CS MODREG # IS CURRENT PROGRAM 22
|
|
AD OCT26
|
|
EXTEND
|
|
BZF RESET22 # YES -- CLEAR RENDEZVOUS FLAG
|
|
|
|
CS MMNUMBER # IS NE PROGRAM P22
|
|
AD OCT26
|
|
EXTEND
|
|
BZF RESET22
|
|
|
|
AD NEG2 # IS NEW PROGRAM = P20 OR P25
|
|
EXTEND
|
|
BZF RENDN00 # YES
|
|
AD FIVE # 25
|
|
EXTEND
|
|
BZF RENDN00 # YES
|
|
|
|
CA OCT500 # NO, IS EITHER P20 OR P25 RUNNING
|
|
MASK FLAGWRD0
|
|
CCS A
|
|
TCF P00FIZZ # YES, LEAVE GROUP 2 TO PICK UP P20 OR P25
|
|
|
|
RESET22 CS OCT700 # CLEAR RENDEZVOUS, P25
|
|
MASK FLAGWRD0 # AND IMU IN USE FLAGS
|
|
TS FLAGWRD0
|
|
TC CLRADMOD
|
|
# Page 231
|
|
|
|
KILL2 EXTEND # NO, KILL 2
|
|
DCA NEG0
|
|
DXCH -PHASE2
|
|
|
|
P00FIZZ CAF V37QCAD # RESTART POINT FOR V37XEQ
|
|
TS TEMPFLSH
|
|
|
|
TCF GOGOPROG
|
|
|
|
RENDN00 CS MODREG
|
|
AD OCT24
|
|
EXTEND
|
|
BZF KILL2 # P20 OR P25 ON TOP OF P20 OR P25 --
|
|
|
|
AD FIVE
|
|
EXTEND
|
|
BZF KILL2
|
|
|
|
CA OCT500
|
|
MASK FLAGWRD0
|
|
AD MMNUMBER
|
|
COM
|
|
AD P20REG # IS IT 20 AND IS RENDEZVOUS FLAG ON
|
|
EXTEND
|
|
BZF STATQUO # YES
|
|
AD OCT305 # IS IT 25 AND IS P25 BIT ON
|
|
EXTEND
|
|
BZF STATQUO # YES, LEAVE AS IS
|
|
TCF KILL2
|
|
|
|
STATQUO CS FLAGWRD1 # SET TRACKFLAG
|
|
MASK OCT120 # UPDATE FLAG
|
|
ADS FLAGWRD1
|
|
|
|
TCF GOMOD
|
|
|
|
NOUVEAU CAF OCT500 # IS P20 OR P25 FLAG SET
|
|
MASK FLAGWRD0
|
|
CCS A
|
|
TCF +3 # YES
|
|
TC DOWNFLAG # NO, RESET IMUINUSE FLAG
|
|
ADRES IMUSE
|
|
|
|
INDEX MINDEX
|
|
CAF DNLADMM1 # OBTAIN APPROPIRATE DOWNLIST ADDRESS
|
|
|
|
INHINT
|
|
TCF SEUDOP00
|
|
|
|
V37NONO TC FALTON # COME HERE IF MM REQUESTED DOESN'T EXIST
|
|
# Page 232
|
|
TCF V37BAD
|
|
|
|
OCT00010 EQUALS BIT4
|
|
OCT500 OCT 500 # BITS 7 AND 9
|
|
OCT305 OCT 305
|
|
OCT26 OCT 26
|
|
P20REG OCT 124
|
|
|
|
V37XEQ INHINT
|
|
INDEX MINDEX
|
|
CAF PREMM1 # OBTAIN PRIO, EBANK, AND MM
|
|
TS MMTEMP
|
|
TS CYR # SHIFT RIGHT TO BITS 14-10
|
|
|
|
CA CYR
|
|
MASK PRIO37
|
|
TS PHSPRDT4 # PRESET GROUP 4 RESTART PRIORITY
|
|
TS NEWPRIO # STORE PRIO FOR SPVAC
|
|
|
|
CA MMTEMP # OBTAIN EBANK -- BITS 8, 9, 10 OF MMTEMP.
|
|
EXTEND
|
|
MP BIT8
|
|
MASK LOW3
|
|
TS L
|
|
|
|
INDEX MINDEX
|
|
CAF FCADRMM1
|
|
TS BASETEMP # MAKE BBCON BY ADDING HI5 OR FCADR
|
|
MASK HI5
|
|
ADS L
|
|
|
|
CA BASETEMP # OBTAIN GENADR PORTION OF 2CADR.
|
|
MASK LOW10
|
|
AD BIT11
|
|
|
|
TC SPVAC
|
|
|
|
V37XEQC CA MMTEMP # UPON RETURN FROM FINDVAC PLACE THE
|
|
MASK LOW7 # NEW MM IN MODREG (THE LOW 7 BITS OF
|
|
TC NEWMODEA # PHSPRDT1)
|
|
|
|
TC RELDSP # RELEASE DISPLAY
|
|
TC ENDOFJOB # AND EXIT
|
|
|
|
NEG7 EQUALS OCT77770
|
|
|
|
MMTEMP EQUALS PHSPRDT3
|
|
BASETEMP EQUALS TBASE4
|
|
V37QCAD CADR V37XEQ +3
|
|
R00AD CADR DUMMYAD
|
|
|
|
# Page 233
|
|
V37RETAD CADR V37RET
|
|
OCT37667 OCT 37667
|
|
OCT40072 OCT 40072
|
|
OCT700 OCT 700
|
|
|
|
SETUP71 CAF THREE
|
|
SETUP70 TS Q
|
|
EXTEND
|
|
DCA P70CADR
|
|
AD Q
|
|
DTCB
|
|
|
|
DEC70 DEC 70
|
|
EBANK= R
|
|
P70CADR 2CADR P70
|
|
|
|
# FOR VERB 37 TWO TABLES ARE MAINTAINED. EACH TABLE HAS AN ETRY FOR EACH
|
|
# MAJOR MODE THAT CAN BE STARTED FROM THE KEYBOARD. THE ENTRIES ARE PUT
|
|
# INTO THE TABLE WITH THE ENTRY FOR THE HIGHEST MAJOR MODE COMING FIRST,
|
|
# 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 MAJOR MODE. FOR EXAMPLE,
|
|
#
|
|
# FCADRMM1 FCADR P79 # START OF P 79
|
|
# FCADR PROG18 # START OF P 18
|
|
# FCADR P01 # START OF P 01
|
|
#
|
|
# NOTE: THE FIRST ENTRY MUST BE LABELED FCADRMM1.
|
|
# -----
|
|
|
|
FCADRMM1 FCADR P79
|
|
FCADR P78
|
|
FCADR P76
|
|
FCADR P75
|
|
FCADR P74
|
|
FCADR P73
|
|
FCADR P72
|
|
FCADR LANDJUNK
|
|
FCADR P63LM
|
|
FCADR P57
|
|
FCADR PROG52
|
|
FCADR P51
|
|
FCADR P47LM
|
|
FCADR P42LM
|
|
FCADR P41LM
|
|
FCADR P40LM
|
|
FCADR P39
|
|
FCADR P38
|
|
# Page 234
|
|
FCADR P35
|
|
FCADR P34
|
|
FCADR P33
|
|
FCADR P32
|
|
FCADR P31
|
|
FCADR P30
|
|
FCADR PROG25
|
|
FCADR PROG22
|
|
FCADR PROG21
|
|
FCADR PROG20
|
|
FCADR P12LM
|
|
FCADR P06
|
|
|
|
# THE PREMM TABLE CONTAINS THE E-BANK, MAJOR MODE, AND PRIORITY
|
|
# INFORMATION, IT IS IN THE FOLLOWING FORM,
|
|
#
|
|
# PPP PPE EEM MMM MMM
|
|
#
|
|
# 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
|
|
# # MAJOR MODE 11
|
|
# OCT 25437 # PRIORITY 12
|
|
# # E-BANK 6
|
|
# # MAJOR MODE 31
|
|
#
|
|
# NOTE: THE FIRST ENTRY MUST BE LABELED PREMM1
|
|
|
|
PREMM1 OCT 27717 # MM 79 EBANK 7 PRIO 13
|
|
OCT 27716 # MM 78 EBANK 7 PRIO 13
|
|
OCT 27714 # MM 76 EBANK 7 PRIO 13
|
|
OCT 27713 # MM 75 EBANK 7 PRIO 13
|
|
OCT 27712 # MM 74 EBANK 7 PRIO 13
|
|
OCT 27711 # MM 73 EBANK 7 PRIO 13
|
|
OCT 27710 # MM 72 EBANK 7 PRIO 13
|
|
OCT 27704 # MM 68 EBANK 7 PRIO 13
|
|
OCT 27677 # MM 63 EBANK 7 PRIO 13
|
|
OCT 27271 # MM 57 EBANK 5 PRIO 13
|
|
OCT 27264 # MM 52 EBANK 5 PRIO 13
|
|
OCT 27263 # MM 51 EBANK 5 PRIO 13
|
|
OCT 27657 # MM 47 EBANK 7 PRIO 13
|
|
OCT 27652 # MM 42 EBANK 7 PRIO 13
|
|
OCT 27651 # MM 41 EBANK 7 PRIO 13
|
|
OCT 27650 # MM 40 EBANK 7 PRIO 13
|
|
OCT 27647 # MM 39 EBANK 7 PRIO 13
|
|
OCT 27646 # MM 38 EBANK 7 PRIO 13
|
|
# Page 235
|
|
OCT 27643 # MM 35 EBANK 7 PRIO 13
|
|
OCT 27642 # MM 34 EBANK 7 PRIO 13
|
|
OCT 27641 # MM 33 EBANK 7 PRIO 13
|
|
OCT 27640 # MM 32 EBANK 7 PRIO 13
|
|
OCT 27637 #
|
|
OCT 27636 # MM 30 EBANK 7 PRIO 13
|
|
OCT 27631 # MM 25 EBANK 7 PRIO 13
|
|
OCT 27626 # MM 22 EBANK 7 PRIO 13
|
|
OCT 27625 # MM 21 EBANK 7 PRIO 13
|
|
OCT 27624 # MM 20 EBANK 7 PRIO 13
|
|
OCT 27614 # MM 12 EBANK 7 PRIO 13
|
|
OCT 27006 # MM 06 EBANK 4 PRIO 13
|
|
|
|
# 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)
|
|
# THAT CAN BE CALLED FROM THE KEYBOARD MINUS ONE)
|
|
|
|
NOV37MM DEC 29 # MM'S -1
|
|
|
|
DNLADMM1 ADRES RENDEZVU # P79
|
|
ADRES RENDEZVU # P78
|
|
ADRES RENDEZVU
|
|
ADRES RENDEZVU # P75
|
|
ADRES RENDEZVU # P74
|
|
ADRES RENDEZVU # P73
|
|
ADRES RENDEZVU # P72
|
|
ADRES DESASCNT # P68
|
|
ADRES DESASCNT # P63
|
|
ADRES LUNRSALN # P57
|
|
ADRES COSTALIN # P52
|
|
ADRES COSTALIN # P51
|
|
ADRES ORBMANUV # P47
|
|
ADRES ORBMANUV # P42
|
|
ADRES ORBMANUV # P41
|
|
ADRES ORBMANUV # P40
|
|
ADRES RENDEZVU # P39
|
|
ADRES RENDEZVU # P38
|
|
ADRES RENDEZVU # P35
|
|
ADRES RENDEZVU # P34
|
|
ADRES RENDEZVU # P33
|
|
ADRES RENDEZVU # P32
|
|
ADRES RENDEZVU # P31LM
|
|
ADRES RENDEZVU # P30
|
|
ADRES RENDEZVU # P25
|
|
ADRES LUNRSALN # P22
|
|
ADRES RENDEZVU # P21
|
|
ADRES RENDEZVU # P20
|
|
ADRES DESASCNT # P12
|
|
ADRES COSTALIN # P06
|
|
DNLADP00 = ZERO
|
|
COSTALIN = 0
|
|
# Page 236
|
|
AGSUPDAT = 1
|
|
RENDEZVU = 2
|
|
ORBMANUV = 3
|
|
DESASCNT = 4
|
|
LUNRSALN = 5
|
|
|
|
BANK 13
|
|
SETLOC INTINIT
|
|
BANK
|
|
|
|
COUNT* $$/INTIN
|
|
|
|
EBANK= RRECTCSM
|
|
|
|
# THIS ROUTINE DOES THE P00 INTEGRATION
|
|
|
|
STATEUP SET BOF # EXTRAPOLATE CM STATE VECTOR
|
|
VINTFLAG
|
|
SURFFLAG # ALSO 6X6 W-MATRIX IF LM ON LUNAR
|
|
DOINT # SURFACE AND W-MATRIX VALID
|
|
BOF SET # FOR RENDEZVOUS NAVIGATION.
|
|
RENDWFLG
|
|
DOINT
|
|
DIM0FLAG
|
|
DOINT CLEAR CALL
|
|
PRECIFLG # ENGAGES 4-TIME STEP LOGIC IN INTEGRATION
|
|
INTEGRV # WHEN MODREG = 0
|
|
|
|
BON DLOAD
|
|
SURFFLAG
|
|
NO-INT
|
|
TETCSM
|
|
STCALL TDEC1
|
|
INTSTALL
|
|
CLEAR CALL # EXTRAPOLATE LM STATE VECTOR
|
|
VINTFLAG
|
|
SETIFLGS
|
|
BOF # ALSO 9X9 W-MATRIX IF W IS VALID
|
|
RENDWFLG
|
|
DOINT2
|
|
SET SET
|
|
DIM0FLAG
|
|
D6OR9FLG
|
|
DOINT2 SET CALL
|
|
PRECIFLG # DISENGAGE 4 TIME STEP LOGIC IN INTEG.
|
|
INTEGRV
|
|
NO-INT CLRGO
|
|
NODOFLAG
|
|
ENDINT
|
|
# Page 237
|
|
# THISVINT IS CALLED BY MIDTOAV1 AND 2
|
|
|
|
THISVINT CLEAR RVQ
|
|
VINTFLAG
|
|
|
|
|