Apollo-11/Comanche055/IMU_CALIBRATION_AND_ALIGNMENT.agc

1400 lines
24 KiB
Plaintext

# Copyright: Public domain.
# Filename: IMU_CALIBRATION_AND_ALIGNMENT.agc
# Purpose: Part of the source code for Comanche, build 055. It
# is part of the source code for the Command Module's
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
# Assembler: yaYUL
# Reference: pp. 423-455
# Contact: Onno Hommes <ohommes@cmu.edu>
# Website: http://www.ibiblio.org/apollo.
# Mod history: 2009-05-10 OH Batch 1 Assignment Comanche Transcription
# 2009-05-20 RSB Corrections: P00D00H -> P00DOOH, definition
# of 25DECML fixed.
# 2009-05-23 RSB At SPECSTS, corrected to PRIO22.
#
# The contents of the "Comanche055" files, in general, are transcribed
# from scanned documents.
#
# Assemble revision 055 of AGC program Comanche by NASA
# 2021113-051. April 1, 1969.
#
# This AGC program shall also be referred to as Colossus 2A
#
# Prepared by
# Massachussets Institute of Technology
# 75 Cambridge Parkway
# Cambridge, Massachusetts
#
# under NASA contract NAS 9-4065.
#
# Refer directly to the online document mentioned above for further
# information. Please report any errors to info@sandroid.org.
# Page 423
# NAME -- IMU PERFORMANCE TESTS 2
#
# DATE -- MARCH 20, 1967
#
# BY -- SYSTEM TEST GROUP 864-6900 EXT. 1274
#
# MODNO. -- ZERO
#
# FUNCTIONAL DESCRIPTION
#
# POSITIONING ROUTINES FOR THE IMU PERFORMANCE TESTS AS WELL AS SOME OF
# THE TESTS THEMSELVES. FOR A DESCRIPTION OF THESE SUBROUTINES AND THE
# OPERATING PROCEDURES (TYPICALLY) SEE STG MEMO 685. THEORETICAL REF. E-1973
BANK 33
SETLOC IMUCAL
BANK
EBANK= POSITON
IMUTEST CA ZERO
TS DRIFTT
TS GEOCOMP1
CAF TESTTIME
TS LENGTHOT
TC COAALIGN # TAKE CARE OF DRIFT FLAG
CAF 1SECX
TS 1SECXT1
CA OC14400
TS 1/PIPADT
GUESS TC INTPRET # CALCULATE -COS LATITUDE AND SIN LATITUDE
CALL
LATAZCHK
COS DCOMP
SL1
STODL WANGI
LATITUDE
SIN SL1
STORE WANGO
EXIT
GEOIMUTT TC BANKCALL # GYROCOMPASS COMES IN HERE
CADR IMUZERO
TC IMUSTLLG
IMUBACK CA ZERO
TS NDXCTR
TS TORQNDX
TS TORQNDX +1
NBPOSPL CA DEC17
TS ZERONDX1
CA XNBADR
# Page 424
TC ZEROING
CA HALF
TS XNB
TC INTPRET
DLOAD SIN
AZIMUTH
STORE YNB +2
STODL ZNB +4
AZIMUTH
COS
STORE YNB +4
DCOMP
STORE ZNB +2
EXIT
TC CHECKMM
MM 03 # SEE IF IN OPTICAL VERIFICATION
TCF +2 # NO
TCF SETNBPOS +1 # YES
TC INTPRET
CALL
CALCGA
EXIT
TC BANKCALL
CADR IMUCOARS
CAF GLOKFBIT # IF GLOKFAIL SET, GIMBAL LOCK
MASK FLAGWRD3
EXTEND
BZF +2
INCR NDXCTR # +1 IF IN GIMBAL LOCK, OTHERWISE 0
TC DOWNFLAG # RESET GIMBAL LOCK FLAG
ADRES GLOKFAIL # BIT 14 FLAG 3
TC IMUSTLLG
CCS NDXCTR # IF ONE GO AND DO A PIPA TEST ONLY
TC PIPACHK # ALIGN AND MEARSUE VERTICAL PIPA RATE
TC BANKCALL
CADR IMUFINE
TC IMUSTLLG
EXTEND
DCA PERFDLAY
TC LONGCALL
SBANK= LOWSUPER # RSB 2004, OH 2009: Ask Ron
EBANK= POSITON
2CADR GOESTIMS
CA ESTICADR
TC JOBSLEEP
GOESTIMS CA ESTICADR
TC JOBWAKE
TC TASKOVER
ESTICADR CADR ESTIMS
# Page 425
TORQUE CA ZERO
TS DSPTEM2
CA DRIFTI
TS DSPTEM2 +1
INDEX POSITON
TS SOUTHDR -1
TC SHOW
PIPACHK INDEX NDXCTR # PIPA TEST
TC +1
TC EARTHR*
CA DEC57
TS LENGTHOT
CA ONE
TS RESULTCT
CA ZERO
INDEX PIPINDEX
TS PIPAX
TS DATAPL
TS DATAPL +4
TC CHECKG # PIP PULSE CATCHING ROUTINE
INHINT
CAF TWO
TC TWIDDLE
EBANK= XSM
ADRES PIPATASK
TC ENDOFJOB
PIPATASK EXTEND
DIM LENGTHOT
CA LENGTHOT
EXTEND
BZMF STARTPIP
CAF BIT10
TC TWIDDLE
EBANK= XSM
ADRES PIPATASK
STARTPIP CAF PRIO20
TC FINDVAC
EBANK= XSM
2CADR PIPJOBB
TC TASKOVER
PIPJOBB INDEX NDXCTR
TC +1
TC EARTHR*
CA LENGTHOT
EXTEND
BZMF +2
TC ENDOFJOB
CA FIVE
# Page 426
TS RESULTCT
TC CHECKG
EXTEND
DCS DATAPL
DAS DATAPL +4
TC INTPRET
DLOAD DSU
DATAPL +6
DATAPL +2
BPL CALL
AINGOTN
OVERFFIX
AINGOTN PDDL DDV
DATAPL +4
SL4 DMPR
DEC585 # DEC585 HAS BEEN REDEVINED FOR LEM
RTB
SGNAGREE
STORE DSPTEM2
EXIT
CCS NDXCTR
TC COAALIGN # TAKE PLATFORM OUT OF GIMBAL LOCK
TC SHOW
VERTDRFT CA 3990DEC # ABOUT 1 HOUR VERTICAL DRIFT TEST
TS LENGTHOT
INDEX POSITON
CS SOUTHDR -2
TS DRIFTT
CA XSM +4 # 0 IF POSN 4
EXTEND
BZF PON2
PON4 CS BIT5 # OFFSET PLATFORM
ADS ERCOMP1 +2
CA BIT5
ADS ERCOMP1
TCF PONG
PON2 CS BIT5
ADS ERCOMP1 +2
CA BIT5
ADS ERCOMP1 +4
PONG TC EARTHR*
CA ZERO # ALLOW ONLY SOUTH GYRO EARTH RATE COMPENS
TS ERVECTOR
TS ERVECTOR +1
GUESS1 CAF POSMAX
TS TORQNDX
TS TORQNDX +1
CA CDUX
TS LOSVEC
# Page 427
TC ESTIMS
VALMIS CA DRIFTO
TS DSPTEM2 +1
CA ZERO
TS DSPTEM2
TC SHOW
ENDTEST1 TC DOWNFLAG # IMU NOT IN USE
ADRES IMUSE # BIT 8 FLAG 0
CS ZERO
TC NEWMODEX +3
TC BANKCALL
CADR MKRELEAS
TC ENDEXT
# Page 428
OVERFFIX DAD DAD
DPPOSMAX
ONEDPP
RVQ
COAALIGN EXTEND # COARSE ALIGN SUBROUTINE
QXCH QPLACE
CA ZERO
TS THETAD
TS THETAD +1
TS THETAD +2
TC BANKCALL
CADR IMUCOARS
TC BANKCALL
CADR IMUSTALL
TC SOMERR2
TC QPLACE
IMUSTLLG EXTEND
QXCH QPLACE
TC COAALIGN +10
CHECKG EXTEND # PIP PULSE CATCHING ROUTINE
QXCH QPLACE
TC +6
CHECKG1 RELINT
CA NEWJOB
EXTEND
BZMF +6
TC CHANG1
INHINT
INDEX PIPINDEX
CS PIPAX
TS ZERONDX
INHINT
INDEX PIPINDEX
CA PIPAX
AD ZERONDX
EXTEND
BZF CHECKG1
INDEX PIPINDEX
CA PIPAX
INDEX RESULTCT
TS DATAPL
TC FINETIME
INDEX RESULTCT
TS DATAPL +1
# Page 429
INDEX RESULTCT
LXCH DATAPL +2
RELINT
ENDCHKG TC QPLACE
ZEROING TS L
TCF +2
ZEROING1 TS ZERONDX1
CAF ZERO
INDEX L
TS 0
INCR L
CCS ZERONDX1
TCF ZEROING1
TC Q
# Page 430
SETLOC IMUCAL3
BANK
ERTHRVSE DLOAD PDDL
SCHZEROS # PD24 = (SIN (missing) -COS (missing) 0)(OMEG/MS)
LATITUDE
COS DCOMP
PDDL SIN
LATITUDE
VDEF VXSC
OMEG/MS
STORE ERVECTOR
RTB
LOADTIME
STOVL TMARK
SCHZEROS
STORE ERCOMP1
RVQ
SETLOC IMUCAL
BANK
EARTHR ITA RTB # CALCULATES AND COMPENSATES EARTH RATE
S2
LOADTIME
STORE TEMPTIME
DSU BPL
TMARK
ERTHR
CALL
OVERFFIX
ERTHR SL VXSC
9D
ERVECTOR
MXV VAD
XSM
ERCOMP1
STODL ERCOMP1
TEMPTIME
STORE TMARK
AXT,1 RTB
ECADR ERCOMP1
PULSEIMU
GOTO
S2
EARTHR* EXTEND
QXCH QPLACES
TC INTPRET
CALL
EARTHR
PROUT EXIT
TC IMUSTLLG
TC QPLACES
# Page 431
SHOW EXTEND
QXCH QPLACE
SHOW1 CA POSITON
TS DSPTEM2 +2
CA VB06N98
TC BANKCALL
CADR GOFLASH
TC ENDTEST1 # V34
TC QPLACE # V33
TCF SHOW1
OC14400 OCT 14400
3990DEC = OMEG/MS
VB06N98 VN 0698
TESTTIME OCT 01602
DEC17 = ND1
OGCPL ECADR OGC
1SECX = 1SEC
DEC57 = VD1
XNBADR GENADR XNB
XSMADR GENADR XSM
OMEG/MS 2DEC .24339048
P11OUT TC BANKCALL
CADR MATRXJOB # RETURN TO P11
COUNT 02/COMST
BLOCK 2
FINETIME INHINT # RETURNS WITH INTERRUPT INHIBITED
EXTEND
READ LOSCALAR
TS L
EXTEND
RXOR LOSCALAR
EXTEND
BZF +4
EXTEND
READ LOSCALAR
TS L
+4 CS POSMAX
AD L
EXTEND
BZF FINETIME +1
EXTEND
READ HISCALAR
TC Q
# Page 432
# PROGRAM NAME: OPTIMUM PRELAUNCH ALIGNMENT CALIBRATION
# DATE: NOVEMBER 2 1966
# BY: GEORGE SCHMIDT IL 7-146 EXT. 126
# MOD NO 3
#
# FUNCTIONAL DESCRIPTION
#
# THIS SECTON CONSISTS OF PRELAUNCH ALIGNMENT AND GYRO DRIFT TESTS
# INTEGRATED TOGETHER TO SAVE WORDS. COMPASS IS COMPLETELY RESTART
# PROOFED EXCEPT FOR THE FIRST 30 SECONDS OR SO. PERFORMANCE TESTS OF
# THE IRIGS IS RESTART PROOFED ENOUGH TO GIVE 75 PERCENT CONFIDENCE THAT
# IF A RESTART OCCURS THE DATA WILL STILL BE GOOD. GOOD PRACTICE TO RECYCL
# WHEN A RESTART OCCURS UNLESS IT HAPPENS NEAR THE END OF A TEST -- THEN WAIT
# FOR THE DATA TO FLASH.
#
# A RESTART IN GYROCOMPASS DURING GYRO TORQUING CAUSES PULSES TO BE LOST.
# THE PRELAUNCH ALIGNMENT TECHNIQUE IS BASICALLY THE SAME AS IN BLOCK 1
# EXCEPT THAT IT HAS BEEN SIMPLIFIED IN THE SENSE THAT SMALL ANGLE APPROX.
# HAVE BEEN USED. THE DRIFT TESTS USE A UNIQUE IMPLEMENTATION OF THE
# OPTIMUM STATISTICAL FILTER. FOR A DESCRIPTION SEE E-1973. BOTH OF THESE
# ROUTINES USE STANDARD SYSTEM TEST LEADIN PROCEDURES. THE INITIALIZATION
# PROCEDURE THE DRIFT TESTS IS IN THE JDC'S. THE INITIALIZATION METHOD
# FOR GYROCOMPASS IS AN ERAS LOAD THEN A MISSION PHASE CALL.
# THE COMPASS ALIGNS TO Z DOWN, X DOWNRANGE, HAS THE CAPABILITY
# CHANGE AZIMUTH WHILE RUNNING, IS COMPENSATED FOR
# COMPONENT ERRORS, IS CAPABLE OF OPTICAL VERIFICATION (CSM ONLY).
#
# COMPASS ERASABLE LOAD REQUIRED
#
# 1. LAUNCHAZ-DP AZIMUTH IN REV FROM NORTH OF XSM DESIRED (NOM=.2)
# 2. LATITUDE-DP-OF LAUNCH PAD
# 3. AZIMUTH-DP-OF ZNB OF VEHICLE
# 4. IMU COMPENSATION PARAMETERS
# 5. AZ AND ELEVATION OF TARGETS 1,2 ****OPTIONAL****
#
# TO PERFORM AS PART OF COMPASS
#
# 1. OPTICAL VERIFICATION: V 65 E
# 2. AXIMUTH CHANGE: V 78 E
#
# SUBROUTINES CALLED
#
# DURING OPTICAL VERIFICATION (CSM ONLY) ESSENTIALLY ALL OF INFLIGHT ALIGN
# IS CALLED IN ONE WAY OR ANOTHER. SEE THE LISTING.
#
# NORMAL EXIT
#
# DRIFT TESTS. LENGTHOT GOES TO ZERO-RETURN TO IMU PERF TEST2 CONTROL
# GYROCOMPASS-MANY, SEE THE LISTING.
#
# ALARMS
#
# 1600 OVERFLOW IN DRIFT TEST
# Page 433
# 1601 BAD IMU TORQUE ABORT
# 1602 BAD OPTICS DURING VERIFICATION-RETURN TO COMPASS CSM ONLY
#
# OUTPUT
#
# DRIFT TESTS: FLASHING DISPLAYS OF RESULTS-CONTROLLED IN IMU PERF TESTS 2
# COMPASS-PROGRAM MODE LIGHTS TELL YOU WHAT PHAS OF PROGRAM YOU ARE IN
# 01 INITIALIZING THE PLATFORM POSITION AND ERASABLE
# 02 GYROCOMPASSING
# 03 DOING OPTICAL VERIFICATION (CSM)
#
# DEBRIS
#
# ALL CENTRALS, ALL OF EBANK XSM
# Page 434
# MOST OF THE ROUTINES COMMON TO ALIGNMENT AND CALIBRATION APPEAR
# ON THE NEXT FEW PAGES.
COUNT 33/P02
EBANK= XSM
BANK 33
SETLOC IMUCAL
BANK
ESTIMS TC 2PHSCHNG # COMES HERE FROM IMU2
OCT 00075
OCT 00004 # TURN OFF GROUP 4 IF ON
RSTGTS1 INHINT # COMES HERE PHASE1 RESTART
CA TIME1
TS GTSWTLT1
CAF ZERO # ZERO THE PIPAS
TS PIPAX
TS PIPAY
TS PIPAZ
RELINT
CA 77DECML # ZERO ALL NECESSARY LOCATIONS
TS ZERONDX1
CA ALXXXZ
TC ZEROING
TC INTPRET
SLOAD
SCHZEROS
STOVL GCOMPSW -1
INTVAL +2 # LOAD SOME INITIAL DRIFT GAINS
STOVL ALX1S
SCHZEROS
STORE GCOMP
STORE DELVX # GCOMPZER SUBROUTINE NO LONGER NEEDED
EXIT
CCS GEOCOMP1 # NON ZERO IF COMPASS.
TC +2
TC SLEEPIE +1
TC INTPRET
CALL
ERTHRVSE
EXIT
CA LENGTHOT # TIMES FIVE IS THE NUM OF SEC ERECTING
TS ERECTIME
TC NEWMODEX
MM 02
TC BANKCALL # SET UP PIPA FAIL TO CAUSE ISS ALARM
# Page 435
CADR PIPUSE # COMPASS NEVER TURNS THIS OFF
TC ANNNNNN # END OF FIRST TIME THROUGH
# Page 436
# COMES HERE AT THE END OF EVERY ITERATION THROUGH DRIFT TEST OR COMPASS
# SET UP WAITLIST SECTION
SLEEPIE TS LENGTHOT # TEST NOT OVER-DECREMENT LENGHOT
TC PHASCHNG # CHANGE PHASE
OCT 00135
CCS TORQNDX # ARE WE DOING VERTDRIFT
TC EARTHR* # TRUE TORQUE SOUTH GYRO
WTLISTNT TC CHKCOMED # SEE IF COMPASS OVER
TC SETGWLST
TC ENDOFJOB
SETGWLST EXTEND
QXCH MPAC # CALLED EVERY WAITLIST OR AZIMUTH CHANGE
INHINT
CS TIME1
AD GTSWTLT1
EXTEND
BZMF +2
AD NEGMAX # 10 MS ERROR OK
AD 1SECXT1 # 1 SEC FOR CALIBRATION, .5 SEC IN COMPASS
EXTEND
BZMF RIGHTGTS
WTGTSMPL TC TWIDDLE
EBANK= ALTIM
ADRES ALLOOP
TC MPAC
RIGHTGTS CAF FOUR # SET UP NEXT WAITLIST-ALLOW SOME TIME
TC WTGTSMPL # END OF WAITLIST SECTION
# STORE AND LOAD DATA SECTIONS FOR RESTART PROOFING
25DECML EQUALS OCT31
STOREDTA CAF 25DECML
TS MPAC
INDEX MPAC
CAE THETAX1
INDEX MPAC
TS RESTARPT
CCS MPAC
TCF STOREDTA +1
TC Q
LOADSTDT CAF 25DECML
TS MPAC
INDEX MPAC
CA RESTARPT
INDEX MPAC
# Page 437
TS THETAX1
CCS MPAC
TCF LOADSTDT +1
TC Q
# COMES HERE EVERY ITERATION BY A WAITLIST CALL SET IN SLEEPIE
ALLOOP CA TIME1
TS GTSWTLT1 # STORE TIME TO SET UP NEXT WAITLIST.
ALLOOP3 CA ALTIM
TS GEOSAVE1
TC PHASCHNG
OCT 00115
ALLOOP1 CAE GEOSAVE1
TS ALTIM
CCS A
CA A # SHOULD NEVER HIT THIS LOCATION
TS ALTIMS
CS A
TS ALTIM
CAF ZERO
XCH PIPAX
TS DELVX
CAF ZERO
XCH PIPAY
TS DELVY
CAF ZERO
XCH PIPAZ
TS DELVZ
CAF 19DECML # 23 OCT
TC NEWPHASE
OCT 00005
SPECSTS CAF PRIO22
TC FINDVAC
EBANK= GEOSAVE1
2CADR ALFLT # START THE JOB
TC TASKOVER
# Page 438
# THIS IS PART OF THE JOB DONE EVERY ITERATION
ALFLT TC STOREDTA # STORE DATA IN CASE OF RESTART IN JOB
TC PHASCHNG # THIS IS THE JOB DONE EVERY ITERATION
OCT 00215
TCF +2
ALFLT1 TC LOADSTDT # COMES HERE ON RESTART
CCS GEOCOMP1
TC +2
TC NORMLOP
TC CHKCOMED # SEE IF PRELAUNCH OVER
TC BANKCALL # COMPENSATION IF IN COMPASS
CADR 1/PIPA
NORMLOP TC INTPRET
DLOAD
INTVAL
STOVL S1
DELVX
VXM VSL1
XSM
DLOAD DCOMP
MPAC +3
STODL DPIPAY
MPAC +5
STORE DPIPAZ
SETPD AXT,1
0
8D
SLOAD DCOMP
GEOCOMP1
BMN
ALWAYSG # DO A QUICK COMPASS
# Page 439
# NOW WE HAVE JUST THE CALIBRATION PARTS OF THE PROGRAM-NEXT PAGES
COUNT 33/COMST
ALCGKK SLOAD BMN
ALTIMS
ALFLT3 # NO NEW GAINS NEEDED
ALKCG AXT,2 LXA,1 # LOADS SLOPES AND TIME CONSTANTS AT RQST
12D
ALX1S
ALKCG2 DLOAD* INCR,1
ALFDK +144D,1
DEC -2
STORE ALDK +10D,2
TIX,2 SXA,1
ALKCG2
ALX1S
ALFLT3 AXT,1 # MEASUREMENT INCORPORATION ROUTINES
8D # AND GAIN UPDATES
DELMLP DLOAD* DMP
DPIPAY +8D,1
PIPASC
SLR BDSU*
9D
INTY +8D,1
STORE INTY +8D,1
PDDL DMP*
VELSC
VLAUN +8D,1
SL2R
DSU STADR
STORE DELM +8D,1
STORE DELM +10D,1
TIX,1 AXT,2
DELMLP
4
ALILP DLOAD* DMPR*
ALK +4,2
ALDK +4,2
STORE ALK +4,2
TIX,2 AXT,2
ALILP
8D
ALKLP LXC,1 SXA,1
CMPX1
CMPX1
DLOAD* DMPR*
ALK +1,1
DELM +8D,2
# Page 440
DAD*
INTY +8D,2
STORE INTY +8D,2
DLOAD* DAD*
ALK +12D,2
ALDK +12D,2
STORE ALK +12D,2
DMPR* DAD*
DELM +8D,2
INTY +16D,2
STORE INTY +16D,2
DLOAD* DMP*
ALSK +1,1
DELM +8D,2
SL1R DAD*
VLAUN +8D,2
STORE VLAUN +8D,2
TIX,2 AXT,1
ALKLP
8D
LOOSE DLOAD* PDDL* # EXTRAPOLATE SWAY VARIABLES
ACCWD +8D,1
VLAUN +8D,1
PDDL* VDEF
POSNV +8D,1
MXV VSL1
TRANSM1
DLOAD
MPAC
STORE POSNV +8D,1
DLOAD
MPAC +3
STORE VLAUN +8D,1
DLOAD
MPAC +5
STORE ACCWD +8D,1
TIX,1
LOOSE
AXT,2 AXT,1 # EVALUATE SINES AND COSINES
6
2
BOOP DLOAD* DMPR
ANGX +2,1
GEORGEJ
SR2R
PUSH SIN
# Page 441
SL3R XAD,1
X1
STORE 16D,2
DLOAD
COS
STORE 22D,2 # COSINES
TIX,2
BOOP
PERFERAS EXIT
CA EBANK7
EBANK= LAT(SPL)
TS EBANK
TC LAT(SPL) # GOTO ERASABLE ONLY TO RETURN
# CAUTION
#
# THE ERASABLE PROGRAM THAT DOES THE CALCULATIONS MUST BE LOADED
# BEFORE ANY ATTEMPT IS MAKE TO RUN THE IMU PERFORMANCE TEST
EBANK= LENGTHOT
ONCEMORE CCS LENGTHOT
TC SLEEPIE # TEST NOT OVER SET UP NEXT WAITLIST
CCS TORQNDX
TCF +2
TC SETUPER1
CA CDUX
TS LOSVEC +1 # FOR TROUBLESHOOTING POSNS 2$4 VD
SETUPER1 TC INTPRET # DRIFT TEST OVER
DLOAD PDDL # ANGLES FROM DRIFT TEST ONLY
ANGZ
ANGY
PDDL VDEF
ANGX
VCOMP VXSC
GEORGEJ
MXV VSR1
XSM
STORE OGC
EXIT
TORQINCH TC PHASCHNG
OCT 00005
CA OGCPL
TC BANKCALL
CADR IMUPULSE
TC IMUSTLLG
CCS TORQNDX # + IF IN VERTICAL DRIFT TEST
TC VALMIS # VERT DRIFT TEST OVER
TC INTPRET
# Page 442
CALL # SET UP ERATE FOR PIP TEST OR COMPASS
ERTHRVSE
EXIT
TC TORQUE # GO TO IMU2 FOR A PIPA TEST AND DISPLAY
SOMEERRR TC ALARM
OCT 1600
TC +3
SOMERR2 TC ALARM
OCT 1601
TC PHASCHNG
OCT 00005
TC ENDTEST1
# THE FAMOUS MAGIC NUMBERS OF SCHMIDT ARE NOW PART OF AN ERASABLE LOAD
DEC585 OCT 02222 # 1170 B+14 ORDER IS NOW IMPORTANT
SCHZEROS 2DEC .00000000
2DEC .00000000
OCT 00000
ONEDPP OCT 00000
OCT 00001 # ABOVE ORDER IS IMPORTANT
INTVAL OCT 4
OCT 2
DEC 144
DEC -1
SOUPLY 2DEC .93505870 # INITIAL GAINS FOR PIP OUTPUTS
2DEC .26266423 # INITIAL GAINS/4 FOR ERECTION ANGLES
77DECML DEC 77
ALXXXZ GENADR ALX1S -1
# GYROCOMPASS PORTIONS FINISH THIS LOG SECTION
COUNT 33/P01
# INITIALIZATION SECTION
GTSCPSS CA FLAGWRD1 # CALLED BY V37
MASK NOP01BIT
# Page 443
EXTEND
BZF GTSCPSSA
TC P00DOO
OCT 1521 # NODO ALARM FOR P01 - P11 ALREADY DONE
GTSCPSSA CAF ONE
TS GEOCOMP1 # THIS IS THE LEAD IN FOR COMPASS
CA 1/PIPAGT
TS 1/PIPADT
NXXTENN CA BIT8
TS LENGTHOT
CAF 1/2SECX # COMPASS IS A .5 SEC LOOP
TS 1SECXT1
CAF ONE
TS PREMTRX1
TS PERFDLAY +1
CAF ZERO
TS PERFDLAY
EXTEND
DCA LUNCHAZ1
DXCH NEWAZ1
EXTEND
DCA LUNCHAZ1
DXCH OLDAZMTH
SETUPGC CA DEC17
TS ZERONDX1
CA XSMADR
TC ZEROING
TC POSN17C
TC GEOIMUTT # GO TO IMU2 FOR FURTHER INITIALIZATION
POSN17C EXTEND # COMPASS POSITION Z DOWN, X DOWNRANGE
QXCH QPLACE # FROM NORTH IN REVOLUTIONS + CLOCKWISE
CS HALF # ALL THIS TO INITIALIZE MATRIX
TS ZSM
TC INTPRET
DLOAD PUSH
NEWAZ1
SIN
STORE XSM +4
STODL YSM +2
COS
STORE YSM +4
DCOMP
STORE XSM +2
EXIT
TC QPLACE
# Page 444
# JOB DONE EVERY ITERATION THROUGH COMPASS PROGRAM. SET BY TASK ALLOOP
COUNT 33/P02
ALWAYSG DLOAD* DSU* # COMPASS AND ERECT
DPIPAY +8D,1
FILDELV1 +8D,1
DMPR DAD*
GEOCONS1
FILDELV1 +8D,1
STORE FILDELV1 +8D,1
DAD*
INTVEC1 +8D,1
STORE INTVEC1 +8D,1
DMPR DAD*
GEOCONS2
FILDELV1 +8D,1
DMPR PUSH
GEOCONS5
TIX,1 SLOAD
ALWAYSG
ERECTIM1
BZE DLOAD
COMPGS
THETAN1 +2
DSU STADR
STODL THETAN1 +2 # ERECTION ONLY.
BDSU
THETAN1 +4
STORE THETAN1 +4
GOTO
ADDINDRF
COMPGS DLOAD DAD # COMPASS
THETAN1
FILDELV1
STODL THETAN1
FILDELV1
DMPR BDSU
GEOCONS3
THETAN1 +4
STODL THETAN1 +4
FILDELV1 +4
DMPR BDSU
GEOCONS3
THETAN1 +2
PDDL DMPR
INTVEC1 +4
GEOCONS4
BDSU STADR
STORE THETAN1 +2
# Page 445
ADDINDRF EXIT
ENDGTSAL CCS LENGTHOT # IS 5 SEC OVER-THE TIME TO TORQ PLATFORM
TC SLEEPIE # NO-SET UP NEXT WAITLIST CALL FOR .5 SEC
TC CHKCOMED
CCS LGYRO # YES BUT ARE GYROS BUSY
TCF SLEEPIE +1 # BUSY-GET THEM .5 SECONDS FROM NOW
LASTGTS TC INTPRET
VLOAD
ERCOMP1
STODL THETAX1
TMARK
STORE ALK
EXIT # PREVIOUS SECTION WAS FOR RESTARTS
RESTAIER TC PHASCHNG
OCT 00275
TC INTPRET # ADD COMPASS COMMANDS INTO ERATE
VLOAD MXV
THETAN1
XSM
VSL1 VAD
THETAX1
STODL ERCOMP1
ALK
STORE TMARK
EXIT
TC EARTHR* # TORQUE IT ALL IN
CAE ERECTIM1
TS GEOSAVE1
TC PHASCHNG
OCT 00155
RESTEST1 TC INTPRET
VLOAD
SCHZEROS
STORE THETAN1
EXIT
CCS PREMTRXC
TC NOCHORLD
TC PHASCHNG
OCT 00255
RESTEST3 TC INTPRET
DLOAD
LAUNCHAZ
DSU BZE
OLDAZMTH
NOAZCHGE
STORE 0D
# Page 446
SLOAD DAD
ONEDPP +1
PREMTRXC # DOES NOT CHANGE LAUNCHAZ
STODL PREMTRXC
LAUNCHAZ
STODL NEWAZMTH
0D
ADERCOMP STORE ERCOMP +4
EXIT
TC POSN17C
TC PHASCHNG
OCT 00335
RESCHNG EXTEND
DCA NEWAZMTH
DXCH OLDAZMTH
CA BIT7 # SPEND 320 SEC ERECTING
TS LENGTHOT
TC PHASCHNG
OCT 00075
SPITGYRO CA ERCOMPPL
TC BANKCALL
CADR IMUPULSE
TC BANKCALL
CADR IMUSTALL
TC SOMERR2
TC ESTIMS # RE-INITIALIZE
NOAZCHGE EXIT
CA ONE
TS PREMTRXC
NOCHORLD CCS GEOSAVE1
TS ERECTIM1 # COUNTS DOWN FOR ERECTION.
ANNNNNN CAF NINE
TS LENGTHOT
TC SLEEPIE +1
CHKCOMED INHINT
CS MODREG # CHECK FOR MM 07 FIRST
AD SEVEN
EXTEND
BZF GOBKCALB # IF MM 07 RETURN TO PERF TEST
CS ZERO
EXTEND
RXOR CHAN30 # READ AND INVERT BITS IN CHANNEL 30
MASK BIT5 # LIFTOFF BIT
CCS A
TCF PRELTERM # LIFTOFF HAS OCCURRED
# Page 447
CA GRRBKBIT # CHECK FOR BACKUP LIFTOFF
MASK FLAGWRD5 # BIT5 FLAGWRD5
CCS A
TCF PRELTERM # BACKUP RECEIVED
RELINT
GOBKCALB TC Q
PRELTERM CA PRIO22 # PRELAUNCH DONE -- SET UP P11
TC PRIOCHNG # INCREASE PRIORITY HIGHER THAN SERVICER
INHINT
TC POSTJUMP
CADR P11
ERCOMPPL ECADR ERCOMP
GEOCONS5 EQUALS HIDPHALF
1/PIPAGT OCT 06200
17DECML = ND1 # OCT 21
19DECML = VD1 # OCT 23
1/2SECX = .5SEC
# Page 448
GEOSTRT4 EQUALS ENDOFJOB
# Page 449
# OPTICAL VERIFICATION ROUTINES FOR GYROCOMPASS
COUNT 33/P03
GCOMPVER TC PHASCHNG # OPTICAL VERIFICATION ROUTINE
OCT 00154
TC NEWMODEX # ENTERED BY VERB 65 ENTER
MM 03
SETNBPOS TC NBPOSPL
TC BANKCALL
CADR MKRELEAS
OPTDATA CAF BIT1 # CALLS FOR AZIMUTH AND ELEVATION OF TARGET
ZL # 1, THEN TARGET 2
LXCH RUN # AZIMUTH CLOCKWISE FROM NORTH TO TARGET
TS DSPTEM1 +2 # ELEVATION MEASURED FROM HORIZONTAL
EXTEND
INDEX RUN
DCA TAZEL1
DXCH DSPTEM1
CAF V05N30E
TC BANKCALL
CADR GODSPRET
CAF VN0641
TC BANKCALL
CADR GOFLASH
TC GCOMP5
TC +3
TC -8D
VN0641 VN 0641
DXCH DSPTEM1 # TAZEL1 TARGET 1 AZIMUTH
INDEX RUN
DXCH TAZEL1 # TAZEL1 +2 TARGET 2 AZIMUTH
CCS RUN
TCF +4
CAF TWO
TS L
TCF OPTDATA +2 # MPAC 1ST PASS=0 2ND PASS=2
TC CONTIN33
V05N30E VN 0530
TC INTPRET # UNDYNAMIC ASSEMBLER
TAR/EREF AXT,1 AXT,2 # TARGET VECTOR
2 # SIN(EL) -COS(AZ)COS(EL) SIN(AZ)COS(EL)
12D
SSP SETPD
S2
6
# Page 450
0
TAR1 SLOAD* SR2 # X1=2 X2=12 S2=6 X1=0 X2=6 S2=6
TAZEL1 +3,1
STORE 0 # PD00 ELEVATION PD00
SIN
STORE 18D,2 # PD06 *** SIN(EL) ***PD12
DLOAD
0
COS PUSH # PD00 COS(EL) PD00
SLOAD* RTB
TAZEL1 +2,1
CDULOGIC
STORE 2 # PD02 AZIMUTH PD02
SIN DMP
0
SL1
STORE 22D,2 # PD10 *** SIN(AZ)COS(EL) ***PD16
DLOAD COS
2
DMP SL1
DCOMP AXT,1
0
STORE 20D,2 # PD08 *** -COS(AZ)COS(EL) ***PD14
TIX,2 RVQ
TAR1
BANK 33
SETLOC IMUCAL
BANK
COUNT* $$/P03
CONTIN33 CA ONE
TS STARCODE
CA ZERO
TC TARGDRVE
TC INTPRET
CALL
TAR/EREF
NEXTBNKS VLOAD MXV
6D
XSM
VSL1
STOVL STARAD
12D
MXV VSL1
XSM
STCALL STARAD +6
LITTLSUB
STORE LOSVEC
# Page 451
EXIT
TC BANKCALL
CADR MKRELEAS
NEXBNKSS CAF TWO
TS STARCODE
CAF SIX
TC TARGDRVE
TC INTPRET
CALL
LITTLSUB
STOVL 12D
LOSVEC
STCALL 06D
AXISGEN
CALL
CALCGTA
EXIT
GCOMP4 CAF V06N93S
TC BANKCALL
CADR GOFLASH
TC GCOMP5
TCF +2
TCF GCOMP4
TC INTPRET
VLOAD VAD
OGC
ERCOMP1
STORE ERCOMP1
EXIT
GCOMP5 TC BANKCALL
CADR MKRELEAS
TC DOWNFLAG
ADRES TRM03FLG
TC NEWMODEX
MM 02
TC PHASCHNG
OCT 00004
TC ENDOFJOB
V06N93S VN 0693
GTSOPTCS TC ALARM
GTSOPTSS OCT 01602
TC GCOMP5
BANK 34
SETLOC IMUCAL1
BANK
# Page 452
COUNT 34/COMST
LATAZCHK DLOAD SL2 # CALLS FOR AZIMUTH AND LATITUDE
LATITUDE
STODL DSPTEM1 +1
AZIMUTH
RTB EXIT
1STO2S
XCH MPAC
TS DSPTEM1
TC BANKCALL
CADR CLEANDSP
CAF VNG0641
TC BANKCALL
CADR GOFLASH
TC +2 # NOT ALLOWED
TC +2
TC -5
TC INTPRET
SLOAD RTB
DSPTEM1
CDULOGIC
STORE AZIMUTH
SLOAD SR2
DSPTEM1 +1
STORE LATITUDE
RVQ
VNG0641 VN 0641
BANK 33
SETLOC IMUCAL
BANK
COUNT* $$/P03
TARGDRVE EXTEND
QXCH QPLAC
TS TARG1/2
TC INTPRET
CALL
TAR/EREF
LXC,1 VLOAD*
TARG1/2
6D,1
STCALL STAR
SXTANG
EXIT
CA SAC
TS DESOPTS
# Page 453
CA PAC
TS DESOPTT
RETARG CAF ZERO
TS OPTIND
CAF ONE
TC BANKCALL
CADR SXTMARK
TC BANKCALL
CADR OPTSTALL
TC GTSOPTCS
CAE FLAGWRD1
MASK TRM03BIT
CCS A
TC GCOMP5
INDEX MARKSTAT
CA QPRET
EXTEND
BZF RETARG1
TC QPLAC
RETARG1 CA ZERO # RELEASE PREVIOUSLY GRABBED VAC AREA
XCH MARKSTAT
CCS A
INDEX A
TS A
TCF RETARG # GO DO SXTMARK AGAIN
BANK 33
SETLOC IMUCAL
BANK
COUNT* $$/P03
PIPASC 2DEC .76376833
VELSC 2DEC -.52223476
ALSK 2DEC .17329931
2DEC -.00835370
GEORGEJ 2DEC .63661977
GEOCONS1 2DEC .1
GEOCONS2 2DEC .005
GEOCONS3 2DEC .062
GEOCONS4 2DEC .0003
# Page 454
COUNT 33/P02
LITTLSUB STQ
QPLAC
LXC,1 VLOAD*
MARKSTAT
2,1
STCALL CDUSPOT
SXTNB
CALL
TRG*NBSM
GOTO
QPLAC
EXIT
AZMTHCG1 TC INTPRET
DLOAD RTB
NEWAZMTH
1STO2S
EXIT
XCH MPAC
TS DSPTEM1
TC BANKCALL
CADR CLEANDSP
CAF VN0629
TC BANKCALL
CADR GOFLASH
TCF +2
TCF +2
TCF -5
TC INTPRET
SLOAD RTB
DSPTEM1
CDULOGIC
STORE LAUNCHAZ
EXIT
CA ZERO
TS PREMTRXC
TC PHASCHNG
OCT 00004
TC POSTJUMP
CADR PINBRNCH
VN0629 VN 0629
# Page 455
# *** END OF COMAID .029 ***