Revision 49926c64aa2d4ea8cd64b4eaa626d22f43bfaeeb authored by Ron Burkey on 12 October 2018, 13:13:55 UTC, committed by Ron Burkey on 12 October 2018, 13:13:55 UTC
to comments in *.agc files that include the strings -SIMULATION or +SIMULATION. The former are automatically commented out if --simulation is used, while the latter are commented out is --simulation is *not* used. All of that was for the sole purpose of adding a -SIMULATION specifier to a single line in Validation.agc that proves inconvenient sometimes for simulations of the AGC electronics. There's a new target in the top-level Makefile (namely Validation-hardware-simulation) that isn't one of the default ones, but which when used, builds a separate rope (Validation/Validation-hardware-simulation.agc.bin) and html with that one inconvenient line in Validation.agc commented out. Overkill, I know.
1 parent 0a720cd
EXTENDED_VERBS.agc
### FILE="Main.annotation"
## Copyright: Public domain.
## Filename: EXTENDED_VERBS.agc
## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
## It is part of an early development version of the software
## for Apollo Guidance Computer (AGC) on the unmanned Lunar
## Module (LM) flight Apollo 5. Sunburst 37 was the program
## upon which Don Eyles's offline development program Shepatin
## was based; the listing herein transcribed was actually for
## the equivalent revision 0 of Shepatin.
## This file is intended to be a faithful transcription, except
## that the code format has been changed to conform to the
## requirements of the yaYUL assembler rather than the
## original YUL assembler.
## Reference: pp. 187-214
## Assembler: yaYUL
## Contact: Ron Burkey <info@sandroid.org>.
## Website: www.ibiblio.org/apollo/index.html
## Mod history: 2017-05-24 MAS Created from Sunburst 120.
## 2017-06-01 RSB Transcribed.
## 2017-06-15 HG Fix operand BANKCALL -> INTPRET
## 2017-06-21 RSB Proofed using octopus/ProoferComments.
## Page 187
BANK 11
EBANK= OGC
# FAN-OUT
## In the original hardcopy, each of the asterisks in the line below is actually a one-half (½) character.
# NOTE OF SPECIAL IMPORT CONCERNING RADAR **
## The following comment is very curious to me (RSB), in that it references changes made in SUNBURST <i>39</i>,
## but this source code is a listing for SHEPATIN 0 (which is identical to SUNBURST <i>37</i>, we believe).
## The basis for the belief that SHEPATIN 0 is the same as SUNBURST 37 is that the computer-generated
## cover page for the program listing reads as follows:
## <pre>
## 488954 12.13.66 1
## * 1800A JOB 55-238-50 NANSTONE ASSE. TIME: 03:09.0
##
## 2003 12 13 66 ¢¢¢¢¢¢¢¢
##
## * YUL NANSTONE
##
## THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 OF PROGRAM SUNBURST BY LEM GROUP
##
## 488954A YUL SYSTEM FOR AGC: NEW PROGRAM SHEPATIN BY EYLES DEC 13, 1966
## </pre>
## The string "REVISION 37 OF PROGRAM SUNBURST BY LEM GROUP" has a hand-drawn box around
## it, presumably for emphasis. All things considered, the "REV 39" in the comment below is probably
## just a typo, but it's still a minor mystery.
## <br><br>
## The "206" referred to below and elsewhere in this file is presumably the canceled AS-206 mission,
## which <i>would</i> have been the first unmanned flight of the LM. Because the original AS-206
## mission was canceled, the first unmanned LM flight was instead AS-204, APOLLO 5, using SUNBURST 120
## software. (The designation "AS-206" was recycled 7 years later for the first manned APOLLO-SKYLAB
## mission, but that's not the mission referred to here.)
# SINCE 206 HAS NO RADARS, THE INTERRUPT LEAD IN AND T4RUPT SERVICE ROUTINES HAVE BEEN DISCONNECTED IN
# SUNBURST (REV 39). THEREFORE, THE FOLLOWING VERBS SHOULD NOT BE USED: 40 WITH NOUN 40, 41 WITH NOUN 40, 45,
# 46, AND SEQUENCES 13 AND 14 OF VERB 57.
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 # VB44 SPARE
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
TCF 64UPDAT # VB64 SET TIMER TO GROUND ELAPSED TIME
TCF 65UPDAT # VB65 SET GUIDANCE REFERENCE RELEASE DISC
TCF 66UPDAT # VB66 INITIATE LGC DFI TLM CALIBRATE RTN
TCF 67UPDAT # VB67 SEND COMMAND TO LMP
TCF 70UPDAT # VB70 SET MISSION TIMER
TCF 71UPDAT # VB71 SET MISSION PHASE REGISTER
TCF 72UPDAT # VB72 SET MISSION PHASE REGISTER + TIMER
TCF 73UPDAT # VB73 RESET DPS OR RPS COLD SOAK DISC
TCF 74UPDAT # VB74 STOP MISSION TIMERS
TCF 75UPDAT # VB75 TARGET PARAMETER UPDATE
TCF 76UPDAT # VB76 STATE VECTOR UPDATE
TC ALM/END
TESTXACT CAF BIT3
MASK EXTVBACT
CCS A
TC XACTALM
## Page 188
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 OR L+2 IF RR.
OP/INERT CS BIT5 # OCT20
AD NOUNREG
EXTEND
BZF XACT0Q # IF = 20.
INCR Q
AD RRIMUDIF # = -20 OCT.
EXTEND
BZF XACT0Q
## Page 189
TC ALM/END # ILLEGAL.
RRIMUDIF OCT -20
## Page 190
# 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
## Page 191
# 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
## Page 192
# 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
## Page 193
# 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
## Page 194
# 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 2441
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
## Page 195
# 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
## Page 196
# 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
## Page 197
# 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
EBANK= OGC
2CADR TSELECT
TC ENDOFJOB # LEAVING DISPLAY GRABBED FOR SYSTEM TEST.
TSELECT CS LOW4 # OCTAL 17 OPTIONS WITHOUT OPERATOR ERRO
AD QPLACE
EXTEND
BZMF +3
TC FALTON
TC REDO
INDEX QPLACE
CAF TESTCADR
TC BANKJUMP
# DON'T USE 13 OR 14 (SEE NOTE ON USER'S PAGE 1).
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. GYROCOMPASS
CADR SAMODCHK # 10 SEMI-AUTOMATIC MODING CHECK
CADR SAUTOIFS # 11 SEMI-AUTOMATIC INTERFACE TEST
CADR AOTANGCK # 12 AOT ANGLE CHECK
## Page 198
CADR RDRINIT # 13 RENDEZVOUS RADAR / ANTENNAE TRACKING
CADR FSTRSAMP # 14 HIGH SPEED RADAR SAMPLING.
CADR ZEROERAS
CADR DISINDT # DISPLAY INERTIAL DATA TEST.
CADR ALM/END
CADR ALM/END
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
## Page 199
# 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
## Page 200
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 UPDNLIST
LRPOSCAL OCT 444
## Page 201
# SEMI-AUTO RADAR TESTING.
RSEMIAUT INHINT
CAF PRIO25 # START HI SPEED SAMPLING.
TC NOVAC
EBANK= RSTKLOC
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
## Page 202
# 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
EBANK= RSTKLOC
2CADR AGSJOB
TC ENDOFJOB
AGSJOB CAF PRIO30 # ENTER AGSINIT JOB VIA EXEC
TC NOVAC
EBANK= RSTKLOC
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
EBANK= RSTKLOC
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
## Page 203
# 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.
EBANK= RSTKLOC
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
## Page 204
# 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
EBANK= RSTKLOC
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.
# NO ROTATIONAL HAND CONTROLLER IN 206.
NOTRHC CAF OKT30
AD MSGCNT
TS RUPTREG2
CS Q
TC VMESSAGE
## Page 205
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
## Page 206
# 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
EBANK= RSTKLOC
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
## Page 207
# 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
## Page 208
# 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
EBANK= RSTKLOC
2CADR DISINLUP +2
TCF EJFREE
ENDDISIN TC FREEDSP
+1 TC NEWMODEX
OCT 0
TC ENDOFJOB
## Page 209
# 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
EBANK= RSTKLOC
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
MINIMP INHINT
CS BIT10 # BIT 10 OF DAPBOOLS INDICATES MINIMP MODE
MASK DAPBOOLS
AD BIT10
TS DAPBOOLS # BIT 10 OF DAPBOOLS NOW PRESENT.
TCF ENDOFJOB
## Page 210
NOMINIMP INHINT
CS BIT10
MASK DAPBOOLS
TS DAPBOOLS # A ZERO IN POSITION 10 OF DAPBOOLS NOW.
EXTEND
DCA CDUX
DXCH CDUXD
CA CDUZ
TS CDUZD
TCF ENDOFJOB
## Page 211
# 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 # THEN 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....
## Page 212
TC ENDOFJOB # GO TO DUMMY JOB UNTIL YOU DIE...
## Page 213
# 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
## Page 214
EXIT
TC CORCTTIM
Computing file changes ...