Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
909 lines (717 sloc) 37.8 KB
### FILE="Main.annotation"
## Copyright: Public domain.
## Filename: EXTENDED_VERBS.agc
## Purpose: This program is designed to extensively test the Apollo Guidance Computer
## (specifically the LM instantiation of it). It is built on top of a heavily
## stripped-down Aurora 12, with all code ostensibly added by the DAP Group
## removed. Instead Borealis expands upon the tests provided by Aurora,
## including corrected tests from Retread 44 and tests from Ron Burkey's
## Validation.
## Assembler: yaYUL
## Contact: Mike Stewart <mastewar1@gmail.com>.
## Website: www.ibiblio.org/apollo/index.html
## Mod history: 2016-12-20 MAS Created from Aurora 12 (with much DAP stuff removed).
BANK 11
EBANK= OGC
# FAN-OUT
LST2FAN TC VBZERO # VB40 ZERO (USED WITH NOUN 20 OR 40 ONLY)
TC VBCOARK # VB41 COARSE ALIGN (USED WITH NOUN 20 OR
# 40 ONLY)
TC IMUFINEK # VB42 FINE ALIGN IMU
TC IMUATTCK # VB43 LOAD IMU ATTITUDE ERROR METERS.
TC ALM/END # ILLEGAL VERB.
TCF LRPOS2K # VB45 COMMAND LR TO POSITION 2.
TC REGRSAMP # VB46 SAMPLE RADAR ONCE PER SECOND
TC DOFCSTST # VB47 PERFORM LEM FCS TEST
TC GOLOADLV # VB50 PLEASE PERFORM
TC GOLOADLV # VB51 PLEASE MARK
TC GOLOADLV # VB52 PLEASE MARK Y
TC GOLOADLV # VB53 PLEASE MARK X OR Y.
TC TORQGYRS # VB54 PULSE TORQUE GYROS
TC ALINTIME # VB55 ALIGN TIME
TC GOSHOSUM # VB56 PERFORM BANKSUM
TC SYSTEST # VB57 PERFORM SYSTEM TEST
TC PRESTAND # VB60 PREPARE FOR STANDBY
TC POSTAND # VB61 RECOVER FROM STANDBY
TC SETUPMSG # VB62 SCAM LEM INBITS
TCF AGSINIT # VB63 INITIALIZE AGS
TC AGCVER # VB64 DETERMINE AGC VERSION
TC BITCOINK # VB65 MINE BITCOIN
TCF ALM/END
TCF ALM/END
TCF ALM/END
TCF ALM/END
TCF ALM/END
TCF ALM/END
TCF ALM/END
TCF ALM/END
TCF ALM/END
TC ALM/END
TESTXACT CAF BIT3
MASK EXTVBACT
CCS A
TC XACTALM
XACT1 CS BIT3
INHINT
MASK EXTVBACT
AD BIT3
TS EXTVBACT
RELINT
TC Q
XACTALM TC FALTON
TC ENDOFJOB
TERMEXTV TC FREEDSP # IF WE GET A TERMINATE INSTEAD OF A LOAD.
ENDEXTVB TC XACT0
TC ENDOFJOB
XACT0 CS BIT3
INHINT
MASK EXTVBACT
TS EXTVBACT
RELINT
XACT0Q TC Q
ALM/END TC FALTON
TC ENDEXTVB
VBZERO TC OP/INERT
TC IMUZEROK # RETURN HERE IF NOUN = ICDU(20)
TC RRZEROK # RETURN HERE IF NOUN = RCDU(40)
VBCOARK TC OP/INERT
TC IMUCOARK # RETURN HERE IF NOUN = ICDU (20)
TC RRDESNBK # RETURN HERE IF NOUN = RCDU (40)
# RETURNS TO L+1 IF IMU, L+2 IF RR, AND L+3 IF OT.
OP/INERT CS BIT5 # OCT20
AD NOUNREG
EXTEND
BZF XACT0Q # IF = 20.
INCR Q
AD RRIMUDIF # = -20 OCT.
EXTEND
BZF XACT0Q
TC ALM/END # ILLEGAL.
RRIMUDIF OCT -20
# KEYBOARD REQUEST TO ZERO IMU ENCODERS
IMUZEROK TC TESTXACT # ZERO ENCODERS.
TC BANKCALL
CADR IMUZERO
TC BANKCALL # STALL
CADR IMUSTALL
TC +1
TC ENDEXTVB
RRZEROK TC TESTXACT
TC BANKCALL # ZERO RR CDUS.
CADR RRZERO
RWAITK TC BANKCALL
CADR RADSTALL
TCF +1
TCF ENDEXTVB
LRPOS2K TC TESTXACT # COMMAND LR TO POSITION 2.
TC BANKCALL
CADR LRPOS2
TCF RWAITK
BITCOINK TC BANKCALL
CADR BITCOIN
TCF ENDEXTVB
TCF ENDEXTVB
# KEYBOARD REQUEST TO COARSE ALIGN THE IMU
IMUCOARK TC TESTXACT # COARSE ALIGN FROM KEYBOARD.
TC GRABWAIT
CAF VNLODCDU # CALL FOR THETAD LOAD
TC NVSBWAIT
TC ENDIDLE # STALL WAITING FOR THE LOAD
TC TERMEXTV
TC ICSDEL # PROCEED - ASK FOR INCREMENTAL LOAD.
ICORK2 CAF IMUCOARV # RE-DISPLAY COARSE ALIGN VERB.
TC NVSBWAIT
TC FREEDSP # RELEASE THE DISPLAYS
TC BANKCALL # CALL MODE SWITCHING PROG
CADR IMUCOARS
TC BANKCALL # STALL
CADR IMUSTALL
TC ENDEXTVB
TC ENDEXTVB
VNLODCDU OCT 02522
IMUCOARV OCT 04100
# PROVISION FOR COARSE ALIGN TO INCREMENTAL ANGLES.
ICSDEL CAF DELLOAD
TC NVSBWAIT # REQUEST LOAD OF DELTA ICDU ANGLES.
TC ENDIDLE
TC TERMEXTV
TC ICORK2 # PROCEED WITHOUT DATA HERE TOO.
TC INCLOOP # LOOP TO INCREMENT THETAD FROM DSPTEM2.
TC ICORK2 # RE-DISPLAY COARSE ALIGN VERB.
INCLOOP XCH Q # INCREMENTS THETADS IN 2S COMPLEMENT FROM
TS MPAC # THREE ANGLE INCREMENTS IN DSPTEM2S.
CAF LTHD+2
TS BUF # SET UP FOR CDUINC.
CAF TWO # THREE TIMES THROUGH.
INCLOOP2 TS MPAC +1
INDEX A
XCH DSPTEM2 # INCREMENT TO TEM2 FOR CDUINC.
TC BANKCALL
CADR CDUINC
CCS BUF
TS BUF
CCS MPAC +1
TC INCLOOP2
TC MPAC # RETURN WHEN FINISHED.
DELLOAD OCT 02523
LTHD+2 ADRES THETAD +2
# KEYBOARD REQUEST TO FINE ALIGN AND GYRO TORQUE IMU
IMUFINEK TC TESTXACT # FINE ALIGN WITH GYRO TORQUING.
TC GRABWAIT
CAF VNLODGYR # CALL FOR LOAD OF GYRO COMMANDS
TC NVSBWAIT
TC ENDIDLE # HOLD UP FOR THE DATA LOAD
TC TERMEXTV
TC +1 # PROCEED WITHOUT A LOAD
CAF IMUFINEV # RE-DISPLAY OUR OWN VERB
TC NVSBWAIT
TC FREEDSP # RELEASE DISPLAYS
TC BANKCALL # CALL MODE SWITCH PROG
CADR IMUFINE
TC BANKCALL # HIBERNATION
CADR IMUSTALL
TC ENDEXTVB
FINEK2 CAF LGYROBIN # PINBALL LEFT COMMANDS IN OGC REGIST5RS
TC BANKCALL
CADR IMUPULSE
TC BANKCALL # WAIT FOR PULSES TO GET OUT.
CADR IMUSTALL
TC ENDEXTVB
TC ENDEXTVB
VNLODGYR OCT 02567
IMUFINEV OCT 04200 # FINE ALIGN VERB
# DESIGNATE TO DESIRED GIMBAL ANGLES.
RRDESNBK TC TESTXACT
TC GRABWAIT
CAF VNLDRCDU # ASK FOR GIMBAL ANGLES.
TC NVSBWAIT
TC ENDIDLE # WAIT FOR THE LOAD
TC TERMEXTV
TC +1 # PROCEED
TC BANKCALL # ASK OP FOR LOCK ON REQUIREMENTS.
CADR AURLOKON
CAF OPTCOARV # RE-DISPLAY OUR OWN VERB
TC NVSBWAIT
INHINT # FIRE UP JOB TO DO DESIGNATE.
CAF PRIO20
TC FINDVAC
EBANK= OGC
2CADR RRDESK2
TCF TERMEXTV # FREES DISPLAY.
VNLDRCDU OCT 02441
OPTCOARV EQUALS IMUCOARV # DIFFERENT NOUNS.
RRDESK2 TC INTPRET
CALL
RRDESNB # RETURNS IN BASIC.
TC RWAITK
# PLEASE PERFORM VERB AND PLEASE MARK VERB ----- PRESSING ENTER INDICATES
# ACTION REQUESTED HAS BEEN PERFORMED, AND DOES SAME RECALL AS A COMPLETED
# LOAD. OPERATOR SHOULD DO VB PROCEED WITHOUT DATA IF HE WISHES NOT TO
# PERFORM THE REQUESTED ACTION.
GOLOADLV TC FLASHOFF
TC XACT0
TC POSTJUMP
CADR LOADLV1
# KEYBOARD REQUEST TO PULSE TORQUE IRIGA
TORQGYRS TC TESTXACT # GYRO TORQUING WITH NO MODE-SWITCH.
TC GRABWAIT
CAF VNLODGYR
TC NVSBWAIT
TC ENDIDLE
TC TERMEXTV
TC +1
CAF TORQGYRV # RE-DISPLAY OUR OWN VERB
TC NVSBWAIT
TC FREEDSP
TCF FINEK2
LGYROBIN ECADR DELVX
TORQGYRV OCT 05400
# ALIGN TIME
ALINTIME CAF VNLODDT # USES NVSUBMON. DOES NOT TEST DSPLOCK.
TS NVTEMP # DOES NOT KILL MONITOR.
TC NVSUBMON
TC ENDOFJOB # IN CASE OF ALARM IN LOAD REQUEST SET UP.
TC ENDIDLE
TC ENDOFJOB # TERMINATE
TC ENDOFJOB # PROCEED WITHOUT DATA
UPDATIME INHINT # DELTA TIME IS IN DSPTEM1, +1.
CAF ZERO
TS MPAC +2 # NEEDED FOR TP AGREE
TS L # ZERO T1 & 2 WHILE ALIGNING.
DXCH TIME2
DXCH MPAC
DXCH DSPTEM1 # INCREMENT.
DAS MPAC
TC TPAGREE # FORCE SIGN AGREEMENT.
DXCH MPAC # NEW CLOCK.
DAS TIME2
TC ENDOFJOB
VNLODDT OCT 02124 # V/N FOR LOAD DELTA TIME
# SELECT AND INITIATE DESIRED SYSTEM TEST PROGRAM.
EBANK= QPLACE
SYSTEST CCS MODREG # DEMAND MODE 00.
TCF XACTALM
TC GRABWAIT
REDO CAF LQPL # ASK FOR TEST OPTION (1 - 7).
TS MPAC +2
CAF TESTNV
TC NVSBWAIT
TC ENDIDLE
TC EJFREE
TC REDO
TC NEWMODEX
OCT 07
INHINT
CAF PRIO20
TC FINDVAC
2CADR TSELECT
TC ENDOFJOB # LEAVING DISPLAY GRABBED FOR SYSTEM TEST.
TSELECT CAF LOW5
MASK QPLACE # SAFETY PLAY.
INDEX A
CAF TESTCADR
TC BANKJUMP
TESTCADR CADR ALM/END # 0 ILLEGAL
CADR IMUTEST # 1 GYRO DRIFT TEST
CADR IMUBACK # 2 REPEAT OF IMUTEST
CADR AOTNBIMU # 3 IMU ALIGNMENT TEST
CADR OPCHK # 4 IMU CHECK
CADR GYRSFTST # 5 GYRO TORQUING TEST
CADR ALM/END # 6 AVAILABLE
CADR GTSCPSS # 7. OPTIMUM COMPASS
CADR SAMODCHK # 10 SEMI-AUTOMATIC MODING CHECK
CADR SAUTOIFS # 11 SEMI-AUTOMATIC INTERFACE TEST
CADR AOTANGCK # 12 AOT ANGLE CHECK
CADR RDRINIT # 13 RENDEZVOUS RADAR / ANTENNAE TRACKING
CADR FSTRSAMP # 14 HIGH SPEED RADAR SAMPLING.
CADR ZEROERAS
CADR DISINDT # DISPLAY INERTIAL DATA TEST.
TESTNV OCT 2101
LQPL ECADR QPLACE
GOSHOSUM TC POSTJUMP # START ROUTINE TO DISPLAY SUM OF EACH
CADR SHOWSUM # BANK ON DSKY
DOFCSTST TC POSTJUMP
CADR FCSSTART
# SET UP FOR RADAR SAMPLING.
EBANK= RSTKLOC
FSTRSAMP CAF RSTKLIST # HIGH SPEED SAMPLING. SWITCH TO SPECIAL
TS DNLSTADR # DOWNLIST.
CS ONE # WANTS TM BUFFERING.
TCF RSAMPTST
REGRSAMP TC GRABWAIT
CAF 1SEC+1 # SHOWS NO TM BUFFERING.
RSAMPTST TS MPAC +2
INHINT
CS LRPOSCAL # INITIALIZE SCALE AND LR POSITION BITS.
MASK RADMODES
TS RADMODES
CAF LRPOSCAL
EXTEND
RAND 33
ADS RADMODES
RELINT
CAF LRTSTDEX
TS EBANK
XCH MPAC +2
TS RSAMPDT # HI SPEED NNZ - LO SPEED PNZ.
CAF ZERO
TS RTSTLOC
TS RFAILCNT # ZERO BAD SAMPLE COUNTER.
CAF HISPMAX
TS RTSTMAX
CAF RTSTNV
TC NVSBWAIT
TC ENDIDLE
TC EJFREE # ON TERMINATE.
TCF RSEMIAUT # PROCEED MEANS SEMI-AUTO SEQUENCING.
RDRDFREE TC FREEDSP
CCS RSAMPDT # SEE IF HI OR LO SPEED SAMPLING.
TCF +4
LRTSTDEX ECADR RTSTDEX
TC POSTJUMP # EXEC. OTHERWISE, SET UP WAITLIST TIMING.
CADR DORSAMP
CAF SIX # FIND OUT WHICH RADAR WANTED.
MASK RTSTDEX
CCS A
TCF LRCYCLE # LANDING RADAR ARE SERIALS 2 - 5.
TS RTSTBASE # FOR RR BASE = 0, MAX = 1.
CAF SIX
TCF +4
LRCYCLE CAF TWO # FOR LR BASE = 2, MAX = 3.
TS RTSTBASE
CAF 18R
+4 TS RTSTMAX
INHINT
TC WAITLIST
EBANK= RSTKLOC
2CADR RADSAMP
TC ENDOFJOB
18R DEC 18
HISPMAX DEC 66
RTSTNV OCT 2101
RSTKLIST GENADR FSTRADTM
1SEC+1 DEC 101
LRPOSCAL OCT 444
# SEMI-AUTO RADAR TESTING.
RSEMIAUT INHINT
CAF PRIO25 # START HI SPEED SAMPLING.
TC NOVAC
2CADR DORSAMP
RELINT
CAF FIVE # SEQUENCE THROUGH ALL SIX CHANNELS.
-1 TS RTSTDEX
33PASTE CAF RV33 # ON ENTER, SWITCH TO NEXT CHANNEL.
TC NVSBWAIT
TC FLASHON
TC ENDIDLE
TC ENDRTST # ON TERMINATE.
TCF +2
TCF 33PASTE # DONT ACCEPT DATA.
CCS RTSTDEX
TCF 33PASTE -1
ENDRTST CAF ZERO # ENDTEST.
TS RSAMPDT
TC NEWMODEX
OCT 0
TC EJFREE
RV33 OCT 3300
# AGS INITIALIZATION PROGRAM.
AGSINIT CCS AGSWORD # ZERO IF AGS NOT NOW BEING INITIALIZED.
TC ALM/END # DO IT LATER.
CA TIME1
AD 12SECS
TS L
TC SENDIT
INHINT # T1 WILL OVERFLOW, DELAY FOR 12 SECS
CA 12SECS
TS AGSWORD
TC WAITLIST
2CADR AGSJOB
TC ENDOFJOB
AGSJOB CAF PRIO30 # ENTER AGSINIT JOB VIA EXEC
TC NOVAC
2CADR SENDIT
TC TASKOVER
SENDIT INHINT
CAF LAGSLIST # SWITCH TO SPECIAL DOWNLIST FOR 10 SECS.
XCH DNLSTADR
TS AGSWORD # TO SHOW INITIALIZATION IN PROGRESS.
CAF 10SECS
TC WAITLIST
2CADR AGSINIT2
TCF ENDOFJOB
AGSINIT2 CAF ZERO # END OF INITIALIZATION.
XCH AGSWORD
TS DNLSTADR # REVERT TO ORIGINAL DOWNLIST.
TCF TASKOVER
10SECS DEC 1000
12SECS DEC 1200
LAGSLIST GENADR AGSLIST
# VB 43 IMU ATTITUDE ERROR METER LOADER.
IMUATTCK TC TESTXACT
CS OCT50K # REMOVE COARSE AND ECTR ENABLE.
EXTEND
WAND 12
TC GRABWAIT
CAF VNLODCDU
TC NVSBWAIT
TC ENDIDLE
TC TERMEXTV
TC +1
CAF V43K # REDISPLAY OUR VERB.
TC NVSBWAIT
CAF BIT6 # ENABLE ERROR COUNTER.
EXTEND
WOR 12
CAF TWO
INHINT
TC WAITLIST # PUT OUT COMMAND IN .32 SECS.
2CADR ATTCK2
TCF TERMEXTV # FREES DISPLAY.
ATTCK2 CAF TWO # PUT OUT ALL COMMANDS - CDU WILL DO LIMIT
TS Q # INCASE OF EXCESS DATA.
INDEX A
CA THETAD
EXTEND
MP BIT13 # SHIFT RIGHT 2.
INDEX Q
TS CDUXCMD
CCS Q
TCF ATTCK2 +1
CAF OCT70K
EXTEND
WOR 14
TCF TASKOVER
OCT50K OCT 50
V43K OCT 4300
OCT70K OCT 70000
# PROGRAM TO SCAN CHANNELS 30 - 32 FOR CHANGES IN SELECTED INBITS. CALLED BY SPECIAL VERB.
EBANK= MSGCNT
SETUPMSG CAF BIT1 # BEGIN SCAN.
INHINT
TC WAITLIST
2CADR MSGSCAN +2
TC ENDOFJOB
MSGSCAN TC FIXDELAY
DEC 50
CAF TWO # SCAN ALL 3 CHANNELS FOR CHANGES.
TS MSGCNT
INDEX A
CA LAST30 # OLD VALUE OF INBITS.
EXTEND
INDEX MSGCNT
RXOR 30
INDEX MSGCNT
MASK 30MSGMSK
EXTEND
BZF NOMSG
TS Q # SAVE DIFFERENCE.
INDEX MSGCNT
LXCH LAST30 # UPDATE OLD VALUE.
EXTEND
RXOR L
INDEX MSGCNT
TS LAST30
COM
XCH Q
MASK Q # SEE IF ANY OF CHANGED BITS JUST ON.
EXTEND
BZF NOMSG # NO MESSAGE IF SO.
TS L
CA MSGCNT
DOUBLE
DOUBLE
MASK BIT3
MASK L
EXTEND
BZF NOTRHC
CAF SIX
CAF PRIO20 # INITIATE MONITOR.
TC NOVAC
2CADR RHCMON
TCF NOMSG
NOTRHC CAF OKT30
AD MSGCNT
TS RUPTREG2
CS Q
TC VMESSAGE
NOMSG CCS MSGCNT
TCF MSGSCAN +3
TCF MSGSCAN
30MSGMSK OCT 17
OCT 77777
OCT 3777
OKT30 OCT 30
DESCBITS TC MESSAGE # DESCENT BITS COME HERE IN A.
OCT 16
TC RESUME
RHCMON TC GRABWAIT # FIRE UP DSKY MONITOR.
CAF RHCMONVN
TC NVSBWAIT
TC EJFREE
RHCMONVN OCT 1645
# MESSAGE DISPLAY - 3 COMPONENT OCTAL.
MESSAGE TS RUPTREG2 # NEW CHANNEL CONTENTS ARRIVE IN A.
INDEX Q # CHANNEL NUMBER IN OCTAL AT CALLER +1.
CAF 0
INCR Q
XCH RUPTREG2
VMESSAGE TS RUPTREG1 # FOR VARIABLE CHANNEL.
EXTEND
QXCH RUPTREG3
CAF PRIO27 # FIRE UP SPECIAL JOB.
TC NOVAC
2CADR DOMSG
DXCH RUPTREG1 # NEW CONTENTS TO MPAC - CHANNEL NUMBER TO
INDEX LOCCTR # MPAC +1.
DXCH MPAC
CA TIME1
INDEX LOCCTR
TS MPAC +2
TC RUPTREG3
DOMSG TC GRABWAIT
EXTEND
DCA MPAC
DXCH DSPTEM1
CA MPAC +2
TS DSPTEM1 +2
CAF MSGVN
TC NVSUB
TCF MSGBUSY
TC EJFREE
MSGBUSY CAF +2
TC NVSUBUSY
CADR DOMSG +1
MSGVN OCT 0535
# ROUTINE FOR AURORA ONLY TO ASK OPERATOR IF RR LOCK ON REQUESTED.
AURLOKON TC MAKECADR
TS DESRET
CAF RV33 # ASSUMES DSKY GRABBED.
TC NVSBWAIT
TC FLASHON
TC ENDIDLE
TCF +3 # ON TERM.
CAF LOKONFLG
TCF +2
CAF ZERO
INHINT
XCH STATE
MASK -LOKONFG
ADS STATE
MASK LOKONFLG # IF NO LOCK-ON CALLED FOR, SET BIT15 OF
CCS A # RADMODES TO INDICATE THAT ARBITRARILY-
TCF +3 # LONG DESIGNATION IS WANTED (TO BE
CAF BIT15 # TERMINATED BY FRESH START).
ADS RADMODES
RELINT
CA DESRET
TCF BANKJUMP
-LOKONFG OCT -20
# PROGRAM TO RUN DISPLAY INERTIAL DATA TEST.
DISINDT CAF FLVELVN # ASK FOR FORWARD, LATERAL VELOCITY.
TC NVSBWAIT
TC ENDIDLE
TCF ENDDISIN
TCF +1
CAF ALT,R,VN # ASK FOR INITIAL AND FINIAL ALTITUDES AND
TC NVSBWAIT # ALTITUDE RATE.
TC ENDIDLE
TCF ENDDISIN
TCF +1
INHINT
CS ONE
TS DIDFLG
EXTEND
DCA ALT # SO FOLLOWING MONITOR WORKS.
DXCH ALTSAVE
CAF ONE
TC WAITLIST
2CADR DISINLUP +2
TCF EJFREE
ENDDISIN TC FREEDSP
+1 TC NEWMODEX
OCT 0
TC ENDOFJOB
# WATCH ALTSAVE FOR END OF PROBLEM.
DISINLUP TC FIXDELAY
DEC 50
+2 EXTEND
DCA FINALT
DXCH ITEMP1
EXTEND
DCS ALTSAVE # LATEST ALTITUDE.
DAS ITEMP1
CCS ITEMP1
TCF +DIF
TCF +2
TCF -DIF
CCS ITEMP2
TCF +DIF
TCF +2
TCF -DIF
DISINDUN CAF ZERO
TS ALTRATE
DXCH FINALT
DXCH ALT
CAF PRIO20
TC NOVAC
2CADR ENDDISIN +1
TCF TASKOVER
+DIF CA ALTRATE
EXTEND
BZMF DISINDUN
TCF DISINLUP
-DIF CS ALTRATE
TCF +DIF +1
FLVELVN OCT 2444
ALT,R,VN OCT 2564
# VB 60 PREPARE FOR STANDBY OPERATION
# ROUTINE WRITTEN FOR TEST ROPES ONLY*** MUST BE UPDATED TO INCLUDE
# FLIGHT REQUIREMENTS FOR FLIGHT OPERATION
EBANK= LST1
PRESTAND CAF EBANK3 # COMES HERE FROM LST2FAN
XCH EBANK # SET UP EBANK FOR BANK 3
INHINT
CA TIME1
TS TIMESAV # THIS ROUTINE WILL LOOK AT TIME1 UNTIL
CAF OKT30 # TIME1 IS INCREMENTED, THEN IT WILL
LONGER TS TIMAR # SNATCH THE MISSION TIME REGS AND STORE
CS TIMESAV # THEM IN TIMESAV FOR LATER ISE IN ARITH.
AD TIME1 # OPERATIONS WHICH SHOULD FIND THE
EXTEND # STANDING DIFFERENCE BETWEEN THE SCALAR
BZF CHKTIME # AND THE TIME1-TIME2S REGS.
EXTEND
DCA TIME2 # READ AND STORE THE DP TIME AND GO
DXCH TIMESAV # READ THE SCALAR USING THE EXISTING PROG
TCF CATCHFIN # FINETIME.
CHKTIME CCS TIMAR # MUST WATCH THE TIME SPENT IN INHINT OR
TC LONGER # THE COPS MIGHT CATCH US.
RELINT
CCS NEWJOB
TC CHANG1
TC LONGER -1 # GO BACK AND LOOK AGAIN
CATCHFIN TC FINETIME # WILL READ CHANNELS 3 AND 4 AND RETURN
DXCH SCALSAV # WITH 3 IN A AND 4 IN L..
RELINT
CS BIT4
MASK IMODES30 # INHIBIT THE IMU FAIL LIGHT.
AD BIT4
TS IMODES30
CAF BIT4 # SET ALL CHAN 12 BITS EXCEPT C/A TO ZERO.
EXTEND # THIS IS NECESSARY SO THAT THE GIMBALS DO
WAND 12 # NOT DRIFT INTO GIMBALLOCK IF THE SYSTEM
CAF BIT4 # SHOULD BE IN OPERATE AT THE TIME STBY
EXTEND # WAS STARTED. THIS SECTION WILL MAKE
WOR 12 # SURE THE IMU IS IN C/A.....
CAF BIT11 # WHEN BIT 11 IS PRESENT IN CHANNEL 13 THE
EXTEND # DSKY PB. CAN THEN ENERGIZE THE STANDBY
WOR 13 # RELAY IN THE CGC PWR SUPPLIES....
TC ENDOFJOB # GO TO DUMMY JOB UNTIL YOU DIE...
# VB 61 RECOVER FROM STANDBY OPERATION
# ROUTINE WRITTEN FOR TEST ROPES ONLY**** MUST BE UPDATED TO INCLUDE
# FLIGHT REQUIREMENTS FOR FLIGHT OPERATIONS SEQUENCES....
POSTAND CAF EBANK3 # COMES HERE FROM LST2FAN
XCH EBANK # SET UP EBANK FOR BANK 3
TC FINETIME
DXCH TIMAR # READ THE SCALAR AND SEE IF IT OVERFLOW-
RELINT # ED WHILE THE CGC WAS IN STBY, IF SO
CAE TIMAR # THE OVERFLOW MUST BE ADDED OR IT WILL
EXTEND # SEEM THAT THE REALATIVITY THEORY WORKS
SU SCALSAV # BETTER THAN IT SHOULD...
EXTEND
BZMF ADDTIME # IF ITS NEG. IT MUST HAVE OV:FLWD..
TC INTPRET
DLOAD DSU # IF IT DID NOT OV-FLW. FIND OUT HOW LONG
TIMAR # THE CGC WAS IN STBY BY SUBTRACTING THE
SCALSAV # SCALAR AT THE START OF STBY FROM THE
SRR RTB # SCALAR AT THE END OF STBY AND THEN ADD
5 # THE DIFFERENCE TO THE TIME EXISTING
SGNAGREE # WHEN THE SCALAR WAS READ AT STBY ENTRY**
DAD
TIMESAV
STORE TIMAR
EXIT
CORCTTIM EXTEND
DCA TIMAR # THIS IS THE CORRECTED TIME TO BE READ
DXCH TIME2 # INTO TIME1 AND TIME2 REGS. ADDR 24-25
CS BIT11
EXTEND # DISABLE THE DSKY STBY PUSHBUTTON.
WAND 13
TC ENDOFJOB
ADDTIME EXTEND
DCA DPOSMAX # IF THE SCALAR OVERFLOWED, FIND OUT HOW
DXCH TIMEDIFF # MUCH TIME REMAINED WHEN READ THE FIRST
TC INTPRET # TIME AND THEN ADD THE PRESENT READING-
DLOAD DSU # WHICH WILL BE THE TOTAL TIME SPENT IN
TIMEDIFF # STANDBY, TO WHICH THE TIME AT STBY
SCALSAV # MAY BE ADDED TO FIND THE PRESENT TIME
DAD SRR # CORRECT TO 10 MSEC..
TIMAR # **** THE TIME IN STANDBY MODE MUST NOT
5 # EXCEED 23 HOURS IF TIME IS TO BE
DAD # CORRECTLY COMPUTED BY THIS ROUTINE.*****
TIMESAV
STORE TIMAR
EXIT
TC CORCTTIM
EBANK3 OCT 01400 # CONST USED TO SET EBANK REG FOR BANK 3
ENDEXTVS EQUALS
You can’t perform that action at this time.