# Copyright: Public domain. # Filename: P20-P25.agc # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055. # It is part of the source code for the Command Module's (CM) # Apollo Guidance Computer (AGC), for Apollo 11. # Assembler: yaYUL # Contact: Ron Burkey <info@sandroid.org>. # Website: www.ibiblio.org/apollo. # Pages: 562-534 # Mod history: 2009-05-10 RSB Adapted from the Colossus249/ file # of the same name, using Comanche055 page # images. # 2009-05-20 RSB Corrections: P2OS -> P20S, STO -> STQ, # GOTOPOOH -> GOTOPOOH, a duplicated EXTEND # was fixed, P23.10 -> R23.10, # S22B0X44 -> S22BOX44, S22SUBSCL -> 22SUBSCL, # S22DPP -> S22DSPP, changed some instructions in # P23.152. # # 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 055 of AGC program Comanche by NASA # 2021113-051. 10:28 APR. 1, 1969 # # This AGC program shall also be referred to as # Colossus 2A
# Page 562 # RENDEZVOUS NAVIGATION PROGRAM 20 # # PROGRAM DESCRIPTION # # MOD NO -- 1 # MOD BY -- N. BRODEUR # # FUNCTIONAL DESCRIPTION # # TO CONTROL THE CSM ATTITUDE AND OPTICS TO ACQUIRE THE LEM IN THE S+T # FIELD AND TO POINT THE CSM TRANSPONDER AT THE LEM. TO UPDATE EITHER THE # LEM OR CSM STATE VECTOR (AS SPECIFIED BY THE ASTRONAUT BY THE DSKY # ENTRY) ON THE BASIS OF OPTICAL TRACKING DATA (REQUESTED BY DSKY) # # CALLING SEQUENCE -- # # ASTRONAUT REQUEST THROUGH DSKY V37E20E # # SUBROUTINES CALLED # # R02BOTH (IMU STATUS CHECK) BANKCALL # FLAGUP 2PHCHNG LOADTIME # R61CSM (PREFERRED TRACKING ATTITUDE) FLAGDOWN # R52 (AUTO OPTICS POSITIONING ROUT) SETINTG # R22 (REND TRACK DATA PROC ROUT) PRIOCHNG # ENDOFJOB INTEGRV GRP2PC # INTPRET MKRLEES FINDVAC # # NORMAL EXIT MODES -- # # P20 MAY BE TERMINATED IN TWO WAYS -- ASTRONAUT SELECTION OF IDLING # PROGRAM (P00) BY KEYING V37E00E OR BY KEYING IN V56E # # ALARM OR ABORT EXIT MODES -- # # NONE DIRECTLY FROM P20 # # OUTPUT # # TRKMKCNT = NO OF RENDEZVOUS TRACKING MARKS TAKEN (COUNTER) # VHFCNT = NO OF VHF RANGING MARKS INCORPORATED (COUNTER) # # FLAGS SET + RESET # # RNDVZFLG,VEHUPFLG,UPDATFLG,TRACKFLG,TARG1FLG # HOLDFLAG,WBODY,WBODY1,WBODY2,DELCDUX,DELCDUY,DELCDUZ # STIKFLAG,PRFTRKAT,VINTFLAG,DIM0FLAG,R60FLAG,R61CNTR
BANK33 SETLOC P20S BANK
EBANK= ESTROKER COUNT* $$/P20
PROG20 TC BANKCALL CADR R02BOTH # IMU STATUS CHECK # BLOCKING OF UPLINK IS DONE BY UPLINK PRG CAF ZERO TS TRKMKCNT # ZERO REND TRACKING MARK COUNTER TS VHFCNT # ZERO REND VHF RNG MRK COUNTER TC UPFLAG # SET PREF TRACK ATT FLAG ADRES PRFTRKAT # BIT 10 FLAG 5 TC DOWNFLAG # LEM TO BE UPDATED. VEHUPFLG RESET. ADRES VEHUPFLG # BIT 8 FLAG 1 # Page 563 TC UPFLAG # SET TRACKFLAG ADRES TRACKFLG # BIT 5 FLAG 1 TC UPFLAG # SET UPDATFLG ADRES UPDATFLG # BIT 7 FLAG 1 TC UPFLAG # SET RNDVZFLG ADRES RNDVZFLG # BIT 7 FLAG 0 TC2PHSCHNG OCT4 OCT05022 OCT26000 TC INTPRET
RTB
LOADTIME
STCALL MARKTIME
SETINTG # SET INTEGRATION FLAGS
BOFF SET
RENDWFLG
P20.1
DIM0FLAG # SET TO INTEGRATE THE W MATRIX
P20.1 BON CLEAR
VEHUPFLG
P20.2
VINTFLAG # SET FOR LM INTEGRATION
P20.2CALL
INTEGRV CALL
GRP2PC # GROUP 2 PHASE CHANGE CALL
SETINTG # SET INTEGRATION FLAGS
BOFF CLEAR
VEHUPFLG
P20.3
VINTFLAG # SET FOR LM INTEGRATION
P20.3CALL
INTEGRV EXIT CAF PRIO26 TC FINDVAC EBANK= MRKBUF2 2CADR R22
TC2PHSCHNG OCT00072 OCT00111
PIKUP20 CAF PRIO14 # ALLOW HIGHER PRIO THAN LAMBERT TC PRIOCHNG CAF BIT5 # IS TRACK FLAG SET MASK STATE +1 EXTEND BZF ENDOFJOB # NO # Page 564 CAF BIT13 MASK STATE +3# IS REFSMFLG SET EXTEND BZF ENDOFJOB CAF ZERO TS R61CNTR # INITIALIZE R61 COUNTER TC BANKCALL CADR R61CSM EBANK= QMIN CAF EBANK5 TSEBANK TC UPFLAG # SET TARGET FLAG TO LEM ADRES TARG1FLG # BIT 10 FLAG 1
P20R52JB TC INTPRET CALL
R52 # SET UP AUTO OPTICS JOB EXIT TC BANKCALL CADR MKRLEES CAF ONE # HOLD PRESENT ATTITUDE TS HOLDFLAG TC ENDOFJOB
OCT203 OCT00203
FIRST3 EQUALS FURST3
# Page 565 # ORBITAL NAVIGATION PROGRAM 22
BANK31 SETLOC P20S1 BANK
EBANK= LANDMARK COUNT* $$/P22
PROG22 TC DOWNFLAG # RESET RNDVZFLG BIT 7 FLAG 0 ADRES RNDVZFLG TC BANKCALL CADR R02BOTH # IMU STATUS CHECK TC INTPRET # COMPUTE ANGLE BETWEEN Y AND VXR SM
RTB
LOADTIME
STCALL TDEC1
CSMCONIC # INTEGRATE TO PRESENT TIME
VLOAD VXV # CROSS PRODUCT BETWEEN V AND R
VATT
RATT
UNIT DOT
REFSMMAT +6
ABS
SL1 ARCCOS STORE +MGA
CLEAR EXIT
RENDWFLG CAF V06N45B TC BANKCALL CADR GOFLASHR TC GOTOPOOH # TERM P22 TC PROG22A # PROC TC -5# ENTER CAF THREE TC BLANKET # BLANK OUT R1 + R2 TC ENDOFJOB
PROG22A CS PRIO7 # RESULT=70777 SET OFFSET NO.=0 MASK LANDMARK TS LANDMARK TC INTPRET
CLEAR
P22MKFLG
SET BOFF
ERADFLAG
CMOONFLG
PROG22B # EARTH
SET # MOON
LUNAFLAG DLOADCALL# MPAC=V05N70,MPAC+1=NONZERO FOR N70
V05N7022 # Page 566
S22N7071
GOTO
CALLR52
PROG22B CLEAR SET # EARTH ORBIT
LUNAFLAG
KNOWNFLG CALL# GET LAT/LONG/ALT FROM ASTRO
P22SUBRB
CALLR52 EXIT TC2PHSCHNG OCT00004 OCT05022 OCT13000 CAF FIVE TS MARKINDX # SET MARK INDEX=5 FOR R52 TC UPFLAG ADRES TARG2FLG # SET FOR SIGHTING LMK TC DOWNFLAG ADRES TARG1FLG # CLEAR FOR NON-LEM TC INTPRET CALL
R52
DOV5N71 SLOADCALL# MPAC=V05N71,MPAC+1=0 FOR N71
V05N7122
S22N7071
PROG22C LXC,2SLOAD*
MARKSTAT
QPRET,2
STCALL 8NN
S22.1# ESTABLISH LANDMARK -- COMPUTE ORBITAL
P22OVER EXIT TC PHASCHNG OCT04022 TC PROG22A # POINT A ON GSOP
V06N45B VN0645
V05N7022 VN00570
V05N7122 VN00571 SETLOC P20S BANK
SETLOC P20S1 BANK
S22LSITE RTB # CONVERT RLS FROM MOON-FIXED TO BASIC REF
LOADTIME STOVL6D # 6-7D= TIME
RLS STODL0D # 0-5D= LANDING SITE VECTOR
HIDPHALF # MPAC= ANY NON-ZERO FOR MOON CALL # Page 567
RP-TO-R # RLS IN BASIC REF B-27 IN MPAC
VSR2 # LUNAFLAG AND ERADFLAG SET ABOVE STORE ALPHAV # SCALE RLS B-29 FOR LAT-LONG
RTB
LOADTIME # SET PRESENT TIME IN MPAC FOR LAT-LONG CALL
LAT-LONG
GOTO
S22TOFF # EXIT
OBTAINLL CALL# GET LAT/LONG/ALT FROM ASTRO
P22SUBRB
GOTO
S22TOFF # EXIT
P22SUBRB STQ EXIT# GET LAT/LONG/ALT FROM ASTRO
S22TOFF +1 CAF V06N89B TC BANKCALL CADR GOFLASH TC GOTOPOOH # TERMINATE TC +2# PROCEED TC -5# ENTER OR RECYCLE TC INTPRET DLOAD ABS # TEST LAT/LONG GREATER THAN 90
LANDLAT
BDSU BMN # 1/4 REV - LAT
DP1/4TH
N89ERRX DLOAD ABS
LANDLONG
BDSU BPL
DP1/4TH
+4
N89ERRX EXIT TC FALTON TC P22SUBRB +2# LONG GR. THAN 90 REDISPLAY CALL
LLASRDA
GOTO
S22TOFF +1# EXIT
S22N7071 STORE8KK # 8KK=V05N71,V05N70 8KK+1=0 N71, NOT 0 N70
STQ EXIT
S22TOFF
S22DSPPA CA8KK # V05N70 OR V05N71 TC BANKCALL CADR GOFLASHR TC GOTOPOOH # V34E TERMINATE TC +5# V33E PROCEED TC -5# V32E RECYCLE CAF FIVE # IMMEDIATE RETURN BLANK OUT R1,R3 TC BLANKET # Page 568 TC ENDOFJOB CA LANDMARK MASK PRIO7 # 07000 TS CXOFF # 08000 = OFFSET INDICATOR CS PRIO5 # 5 8-5 AD CXOFF EXTEND BZMF +2# OFF=0 THRU 5 OK TC S22DSPP # OFF=6.7 ILLEGAL REDISPLAY TC DOWNFLAG ADRES KNOWNFLG # CLEAR KNOWNFLG CA LANDMARK # MASK A FROM ABCDE MASK13,14,15 EXTEND BZMF S22DSPP # A=0,4,5,6,7 ILLEGAL REDISPLAY TS22SUBSCL # TEMP CS BIT14 AD22SUBSCL CCS A
S22DSPP TC FALTON # + A=3 ILLEGAL REDISPLAY TC S22DSPPA # COMMON ERROR EXIT BACK TO DISPLAY TC +2# - A=1 KNOWN LMK CHECK DE TC S22ABDE # -0 A=2 UNKNOWN LMK, DE MEANINGLESS TC UPFLAG ADRES KNOWNFLG # SET KNOWNFLG CS HIGH9 # RESULT= 00077 MASK LANDMARK TS22SUBSCL # 000DE CS BIT1 AD22SUBSCL EXTEND BZMF S22ABDE # DE=0,1 OK FOR BOTH N70,N71 CA8KK +1# =0 FOR N71, NOT =0 FOR N70 EXTEND BZF S22DSPP # N71 REDISPLAY DE MUST= 0 OR 1 CA BIT5 # N70 TEST DE= 50-57 OCTAL FOR ADV. ORBIT AD OCT50 # SUM=00070 MASK22SUBSCL # 00D0 CS A AD OCT50 EXTEND BZF DE-GR-50# D=5 OR DE=50-57, OK FOR N70 TC S22DSPP # DE NOT 50-57 ILLEGAL, REDISPLAY
S22ABDE TC INTPRET
BOFF SLOAD
KNOWNFLG # UNKNOWN LMK, DE MEANINGLESS
S22TOFF 22SUBSCL # =0 GET LLA FROM ASTRO, NOT=0 USE RLS
BHIZ GOTO
OBTAINLL # GET LAT/LONG/ALT FROM ASTRO N89 # Page 569
S22LSITE # GET LAT/LONG/ALT FROM RLS
DE-GR-50TC2PHSCHNG OCT00004 OCT05022 OCT13000 CA FIVE TS MARKINDX TC UPFLAG ADRES TARG2FLG TC DOWNFLAG ADRES TARG1FLG TC INTPRET CALL
ADVORB
GOTO
DOV5N71
# Page 570 # PROGRAM NAME: OPTICS CALIBRATION ROUTINE # MOD NO: 1 # MOD BY: TOM KNATT # # FUNCTIONAL DESCRIPTION: TO MEASURE THE EFFECT OF SOLAR RADIATION ON # THE SXT TRUNNON ANGLE AND STORE THE MEASURED TRUNNION BIAS FOR P23 # # CALLING SEQUENCE: CALL # R57 # # SUBROUTINES CALLED: DISPLAY ROUTINES # # NORMAL EXIT MODES: VIA EGRESS # # ALARMS: NONE # # ABORT MODES: P23 ABORT IF MARKING SYSTEM OR EXTENDED VERB ACTIVE # # INPUT: NONE REQUIRED, NORMALLY CALLED BY P23 # # OUTPUT: TRUNNION BIAS ANGLE: ANGLE DETERMINED WHEN SHAFT LINE OF SIGHT # (SLOS) AND LANDMARK LINE OF SIGHT (LLOS) ARE SUPERIMPOSED. THIS ANGLE # MAY NOT BE EXACTLY ZERO BECAUSE OF UNEVEN HEATING OF THE OPTICS, FOR # EXAMPLE. # # ERASABLE INITIALIZATION REQUIRED: MRKBUF1, EXTVBACT # # DEBRIS: RUPTREGS USED BY MARKRUPT AND ERASABLES USED BY DISPLAYS.
BANK33 SETLOC P20S BANK COUNT* $$/R57 EBANK= MRKBUF1
R57 STQ EXIT
EGRESS CAF EBANK7 TSEBANK CAF SIX # BIT2 = MARKING SYSTEM IN USE MASK EXTVBACT # BIT3 = EXTENDED VERB IN PROGRESS CCS A TC P23ABRT # SET, THEREFORE ABORT CAF BIT2 # NOT SET ADS EXTVBACT # SET IT
R57A TC UPFLAG # SET V59FLAG (BIT 12 FLAG 5 TO INDICATE ADRES V59FLAG # CALIBRATION MARK CAF V59NB TC BANKCALL CADR GOMARKFR TC GOTOPOOH # TERMINATE TC ENDR57 TC ENDR57 CAF SEVEN # Page 571 TC BLANKET # BLANK OUT R1,R2,R3 TC ENDOFJOB # STORE TRUNNION ANGLE (OCDU)
MARKDISP CAF V06N87NB TC BANKCALL CADR GOMARKFR TC GOTOPOOH # TERMINATE TC R57B # PROCEED TC R57A # ENTER (RECYCLE) CAF FIVE TC BLANKET # BLANK OUT R1,R3 TC ENDOFJOB
R57B CA19.77DEG # PUT FIXED INTO ERASABLE FOR MSU TS L # INSTRUCTION COMING UP CA MRKBUF1 +5# CONTAINS TRUNNION EXTEND MSU L # CONNECTS TRUNBIAS FROM 2'S TO 1'S TS TRUNBIAS
ENDR57 TC DOWNFLAG # RESET V59FLAG ADRES V59FLAG # BIT 12 FLAG 5 CAF EBANK5 TSEBANK CAF PRIO14 TC NOVAC # THIS JOB CLEARS BIT IN EBANK= MARKSTAT 2CADR ENDMARK # MARKING IN R57 SO R53 CAN TAKE OVER
# Page 572 # PROGRAM DESCRIPTION # MOD NO: 1 # MOD BY: N. BRODEUR # # FUNCTIONAL DESCRIPTION # # TO PERFORM SIGHTING MARKS IN CONJUNCTION WITH THE RENDEZVOUS NAVIG- # ATION PROGRAM. CALLED BY ASTRONAUT VIA EXTENDED VERB. # # CALLING SEQUENCE: # # R21 VIA V57 # R23 VIA V 54 # # SUBROUTINES CALLED: # # FLAGUP FLAGDOWN BANKCALL # ENDOFJOB GOMARK2 GOMARKF # INTPRET GENTRAN KLEENEX # ENDMARK # # NORMAL EXIT MODES: # # MARKRUPT USED BY SXTMARK HAS BEEN MODIFIED TO STORE MARK IN MRKBUF2 # FOR USE BY R22. WHEN ASTRONAUT IS FINISHED TAKING MARKS, HE HITS AN # PROCEED, R21 IS TERMINATED THUS CAUSING THE FINAL MARK TO BE TRANSFRD # TO MRKBUF2 FOR PROCESSING BY R22 # # ALARM OR ABORT EXIT MODES: # # NONE # # OUTPUT: # # 7 REGISTER MRKBUF2 CONTAINING TIME2,TIME1,CDUY,OPTICS X,CDUZ, OPTICS Y, # CDUX. # # ERASABLE INITIALIZATION REQUIRED # # FLAGS SET AND RESET # R21MARK (COMMUNICATION TO MARKRUPT TO STORE MARKS IN MRKBUF1 +2) # R23FLG INDICATES COAS MARKING # # DEBRIS
EBANK= MRKBUF1 SETLOC RENDEZ BANK
COUNT* $$/R21
R21CSM TC UPFLAG # SET R21MARK ADRES R21MARK # BIT 14 FLAG 2
R23CSM CA NEGONE TS MRKBUF1 TS MRKBUF2 CA FLAGWRD1 MASK R23BIT # TEST R23FLG EXTEND BZF R21C1 # NOT SET REGULAR R21 MARKING CAF V0694 # R23 BACKUP MARKING TC BANKCALL # DISPLAY SHAFT + TRUNNION CADR GOMARKF TC R21END # TERM TC +2# PROC # Page 573 TC -5# ENTER
R23CSM1 CAF V53 # PERFORM ALT LOST SIGHT MARK TC BANKCALL CADR GOMARK2 TC R21END # V34: TERMINATE R23 TCF R21CSMA # PROCEED: END BACK UP MARKING (R23) CAF SIX # TRANSFER MRKBUF1 TO MRKBUF2 TC GENTRAN ADRES MRKBUF1 ADRES MRKBUF2 EXTEND DCA TIME2 DXCH MRKBUF1 # READ TIME CA CDUY # READ CDU ANGLES TS MRKBUF1 +2 CA CDUZ TS MRKBUF1 +4 CA CDUX TS MRKBUF1 +6 RELINT TC R23CSM1
R21C1 CAF V51NB TC BANKCALL CADR GOMARK2 TC R21END # V34: TERMINATE R21 TCF R21CSMA # PROCEED: END R21 TCF R21C1 # RECYCLE
R21CSMA CA MRKBUF1 # IF -1 NO MARK AD ONE EXTEND BZF R21END # ZERO = NO MARK CAF SIX # MARK THEREFORE TRANSFER IT TO MRKBUF2
R21CSM1 TC GENTRAN # TRANSFER MRKBUF1 TO MRKBUF2 ADRES MRKBUF1 ADRES MRKBUF2 RELINT
R21END TC BANKCALL CADR KLEENEX TC DOWNFLAG # RESET R21MARK ADRES R21MARK # BIT 14 FLAG 2 TC ENDMARK # END MARKING AND ENDJOB
V53 VN5300
V0694 VN0694
# Page 574 # PREFERRED TRACKING ATTITUDE ROUTINE R61CSM # # PROGRAM DESCRIPTION # MOD NO: 2 # MOD BY: N. BRODEUR # # FUNCTIONAL DESCRIPTION: # # TO COMPUTE THE PREFERRED TRACKING ATTITUDE OF THE CSM TO ENABLE OPTICS # TRACKING OF THE LM AND TO PERFORM THE MANEUVER TO THE PREFERRED # OR X-AXIS TRACKING ATTITUDE. # # CALLING SEQUENCE: # # TC BANKCALL # CADR R61CSM # # SUBROUTINE CALLED # # MAKECADR BANKCALL # INTPRET FLAGUP FLAGDOWN # BANKJUMP CRS61.1 R60CSM # PHASCHNG # # NORMAL EXIT MODES: # # NORMAL RETURN TO CALLER + 1 # # OUTPUT: # # SEE OUTPUT FOR CRS61.1 & ATTITUDE MANEUVER ROUTINE (R60CSM) # # ERASABLE INITIALIZATION REQUIRED # # GENRET USED TO SAVE Q FOR RETURN # R61CNTR MUST BE PRESET TO ZERO # # FLAGS SET + RESET # # 3-AXIS FLAG # # DEBRIS # # SEE SUBROUTINES
R61CSM CAF EBANK6 # SWITCH TO EBANK 6 XCHEBANK TS SAVBNK # SAVE EBANK TC MAKECADR TS GENRET CCS R61CNTR # TEST R61DNTR TC DECRM61 # NOT READY TO DO R61 TC +2# DO R61 TC DECRM61 +1 TC INTPRET CALL
CRS61.1# LOS DETERMINATION + VEH ATTITUDE EXIT INDEX MPAC TC +1 TC R61END # SUBROUTINE DRIVING DAP (EXIT R61) # OR AUTO MODE NOT SET (EXIT R61) # OR SKIKFLAG SET (EXIT R61)
R61C1 TC DOWNFLAG # RESET 3-AXIS FLAG ADRES3AXISFLG # BIT 6 FLAG 5 # Page 575 CS ONE # SET R61CNTR NEG. TO INDICATE KALCMANU TS R61CNTR
TC UPFLAG # SET FLAG FOR PRIORITY DISPLAYS FOR R60 ADRES PDSPFLAG # BIT 12 FLAG 4 TC BANKCALL CADR R60CSM TC DOWNFLAG # RESET FLAG FOR PRIORITY DISPLAYS IN R60 ADRES PDSPFLAG # BIT 12 FLAG 4 TC PHASCHNG OCT00111 CAF ZERO TC DECRM61
R61END CAF THREE
DECRM61 TS R61CNTR
CAE GENRET LXCH A # RETURN IS IN L CA SAVBNK # RESTORE EBANK XCHEBANK LXCH A # RETURN IS NOW BACK IN A TC BANKJUMP # EXIT R61 BANK13 SETLOC P20S2 BANK
EBANK= MRKBUF1 # Page 576 # BVECTOR PERFORMS COMPUTATIONS FOR # # DELTAQ, THE MEASURED DEVIATION BASED ON THE DIFFERENCE BETWEEN THE CSM-LEM # STATE VECTOR ESTIMATES AND THE ACTUAL TRACKING MEASUREMENT. # # US, THE MODIFIED FICTITIOUS STAR DIRECTION VECTOR # GEOMETRY VECTORY B ASSOCIATED WITH EACH TRACKING MEASUREMENT. # # INPUT # # UM,1/2 UNIT VECTOR ALONG THE CSM-LM LINE-OF-SIGHT (BASIC REF. SYSTEM) # # USTAR,FICTITIOUS STAR DIRECTION (1/2 UNIT VECTOR) # # RCLP,RELATIVE CSM TO LM POSITION VECTOR # # OUTPUT # # USTAR,MODIFIED FICTITIOUS STAR DIRECTION (1/2 UNIT VECTOR) # # BVECTOR = 9 DIMENSIONAL BVECTOR (1/2 UNIT VEC.) # # DELTAQ = MEASURED DEVIATION # # CALLING SEQUENCE # # L CALL BVECTORS # # NORMAL EXIT # # L+1 OF CALLING SEQUENCE
COUNT23/20SUB
BVECTORS STQ
EGRESS
VLOAD UNIT
RCLP # RELATIVE POSITION VECTOR STODL26D # RCLP UNIT VEC 36D # RCLP ABS VALUE STOVL TEMPOR1 # MOVE TO SAFE LOCATION
USTAR
VXV UNIT 26D # USTAR = UNIT(US X UCL)
STCALL BVECTOR
GRP2PC # PHASE CHANGE
VLOAD
BVECTOR STORE USTAR
DOT SL1
UM # USTAR DOT UM
ACOS DSU
DP1/4TH
NORM DMP
X1
PI/4.0
DMP SRR*
TEMPOR1 # RCLP ABS VALUE 0 -3,1# ADJUST SCALING STOVL DELTAQ
ZEROVECS STORE BVECTOR +6 STORE BVECTOR +12D
GOTO # Page 577
EGRESS
PI/4.02DEC .785398164
# Page 578 # GETUM: DETERMINES THE LINE OF SIGHT UNIT VECTOR UM IN THE BASIC REFERENCE # COORDINATE SYSTEM FROM THE OPTICS SHAFT AND TRUNNION ANGLES AND THE IMU # GIMBAL ANGLES. # # INPUT # # MARKDATA, BASE ADDRESS OF MARK DATA # REFSMMAT, ROTATION MATRIX FROM STABLE MEMBER TO BASIC REF. COORD. SYSTEM # # SUBROUTINES CALLED- # # SXTNB -- SEXT. ANGULAR READINGS TO NAV. BASE COOR. # NBSM -- TRANSFORM FROM NAV. BASE TO STABLE MEMBER # # OUTPUT # # MPAC = LINE OF SIGHT 1/2 UNIT VECTOR IN BASIC REFERENCE SYSTEM # # CALLING SEQUENCE # # L CALL GETUM # # NORMAL EXIT # # L+1 OF CALLING SEQUENCE
GETUM STQ SETPD
EGRESS 0
LXC,1 VLOAD*
MARKDATA # CONTAINS ADDRESS OF MARK DATA 1,1 STODL* MARKDOWN +1# TRANSFER DATA FROM WORKING STORAGE 0,1# TO MARKDOWN ARRAY FOR DOWNLINK STORE MARKDOWN
AXT,2 2
XSU,2 SXA,2
X1 # X1 = MARKDATA
S1 # S1 = MARKDATA(ADR) +2 CALL
SXTNB # SEXT. ANGULAR READINGS TO NAV. BASE COOR. CALL
NBSM # TRANSFORM FROM NAV. BASE TO STABLE MEM.
VXM VSL1
REFSMMAT
GOTO # MPAC = (UM) LINE OF SIGHT VECTOR
EGRESS # EXIT
# Page 579 # RENDEZVOUS TRACKING DATA PROCESSING ROUTINE (R22) # # PURPOSE (1) TO PROCESS RENDEZVOUS SIGHTING MARK DATA TO UPDATE THE STATE VECTOR OF EITHER THE CSM OR LM AS # DEFINED BY THE RENDEZVOUS NAVIGATION PROGRAM (P20). # # ASSUMPTIONS (1) THIS ROUTINE IS MANUALLY SELECTED BY THE ASTRONAUT BY V55E WHENEVER RENDEZVOUS SIGHTING MARKS # ARE DESIRED. ITS SELECTION, HOWEVER, IS LIMITED TO PERIODS WHEN THE CMC IS HOLDING FOR A V/N FLASHING # DATA DISPLAY. THIS ROUTINE RETURNS TO THE ORIGINAL PROGRAM AT THE INTERRUPTED DISPLAY.
BANK34 SETLOC P20S3 BANK
COUNT34/R22
R22 CAF PRIO26 TS PHSPRDT2 TC PRIOCHNG CA NEG3 TS MRKBUF2 TC INTPRET
RTB
LOADTIME STORE VHFTIME # PRESENT TIME
REND1 CALL
GRP2PC CALL
WAITONE
REND1A EXIT CA MRKBUF2 EXTEND BZF REND2 EXTEND BZMF REND3A
REND2 CAF SIX TC GENTRAN ADRES MRKBUF2 ADRES MARKTIME # MARKTIME MUST BE CONTIGUOUS WITH VTEMP CAF NEG3 # NEG VALUE TO INDICATE VALUES USED TS MRKBUF2 RELINT TC INTPRET
CLEAR CALL
SOURCFLG # 0 = OPTICS DATA
GRP2PC
SSP GOTO
MARKDATA
ECADR VTEMP -2
REND4
REND3A TC INTPRET
REND3 CALL # Page 580
GRP2PC CALL
WAITONE
BOFF
VHFRFLAG
REND1A
RTB
LOADTIME # PRESENT TIME
DSU DSU 60SECDP # 1 MIN
VHFTIME # LAST READING OF RADAR
BMN CALL
REND1A
RANGERD # READ RADAR RANGE DLOAD
MARKTIME STORE VHFTIME # FOR DOWNLINK
REND4 CALL
SETINTG # SET INTEGRV FLAGS
BON CALL
VEHUPFLG
CSMUPP # BRANCH IF CSM UPDATE
INTEGRV CALL
GRP2PC # PHASE CHANGE CALL
SETINTG # SET INTEGRV FLAGS
CLEAR
VINTFLAG # SET INTEGRATION VEHICLE TO LM
REND5 BOFF SET
RENDWFLG
REND5A # DO NOT INTEGRATE W IF FLAG = 0
DIM0FLAG
REND5A CALL
INTEGRV CALL
SHIFTNDX # SET EARTH MOON SCALING INDEX CALL
CMPOS # SET CSM POSITION
SET CALL
INCORFLG # SET FOR 1ST PASS
LMPOS # SET LM POSITION
CLEAR BON
ORBWFLAG # CLEAR FOR ORBITAL AND CISLUNAR
RENDWFLG
REND6 DLOAD
WRENDPOS
STCALL 0# 0 = WRENDPOS 1 = WRENDVEL
INITIALW # INTIIALIZE W MATRIX # Page 581 DLOAD
ZEROVECS STORE VHFCNT # ZERO OUT VHFCNT AND TRKMKCNT
REND6 SET
RENDWFLG
VLOAD VSU
LEMPOS
CSMPOS STORE RCLP # LM - CSM
REND7 UNIT BON
SOURCFLG
REND14 # BRANCH IF DATA IS RADAR STORE UCL
BOFF CALL
INCORFLG
REND9
GETUM # CALCULATE UM LINE OF SIGHT STOVL UM
UCL
VXV BOV
UM # UCL X UM
REND8
REND8 UNIT BOV
REND3 # BRANCH IF OVERFLOW IGNORE MARK STORE USTAR
REND9 CALL
BVECTORS
BON VLOAD
VEHUPFLG
REND9A
BVECTOR
VCOMP STORE BVECTOR
REND9A CALL
GRP2PC
BON
R23FLG
REND15 # BRANCH IF BACKUP OPTICS (R23 WORKING) DLOAD DAD
SXTVAR
IMUVAR
REND10 STOVL VARIANCE # TEMP STORAGE FOR VARIANCE CALC.
RCLP
ABVAL NORM
X1
DSQ DMP
VARIANCE
XAD,1CALL
X1
SHIFTNDX # GET EARTH MOON SCALING INDEX # Page 582
XAD,1 XAD,1
X2
X2
SR* TLOAD 0 -2,1# ADJUST SCALING TO B-40
MPAC STORE VARIANCE SLOAD SR
INTVAR # INTEGRATION VARIANCE SCALED B-15 25D # SCALE IT B-40
TAD RTB
VARIANCE
TPMODE STORE VARIANCE
BOFF TAD
SOURCFLG # BRANCH IF NOT VHF RADAR
REND10A
RVARMIN # VHF RADAR MIN. VARIANCE
BPL TLOAD
REND10A
RVARMIN
ABS # MIN. VALUE WAS STORED AS NEG. STORE VARIANCE # STORE MIN. VALUE
REND10A CLEAR CALL
DMENFLG # CLEAR FOR 6 X 6 W MATRIX
INCORP1 # CALCULATE UPDATE CALL
GRP2PC
BOFF CALL
INCORFLG
REND12
SHIFTNDX # GET EARTH MOON SCALING INDEX
VLOAD ABVAL
DELTAX +6
SR* 0,2 STOVL N49DISP +2
DELTAX
ABVAL SR* 0,2 STORE N49DISP SLOAD
RMAX
SR DSU 10D
N49DISP
BMN SLOAD
RENDISP # BRANCH IF POS UP. GREATER THAN MAX.
VMAX
DSU BMN # Page 583
N49DISP +2
RENDISP # BRANCH IF VEL. UPDATE GREATER THAN MAX.
REND12 CALL
INCORP2 # INCORPORATE UPDATE VALUES INTO STATE VEC
BON BOFF
SOURCFLG
REND16 # BRANCH IF DATA IS RADAR
INCORFLG
REND17 CALL
SHIFTNDX # GET EARTH MOON SCALING INDEX
BON CALL
VEHUPFLG
REND18 # BRANCH IF CSM UPDATE
LMPOS # GET LM POSITION
REND13 CALL
GRP2PC # PHASE CHANGE
VLOAD VSU
LEMPOS
CSMPOS STORE RCLP # LM - CSM
CLRGO
INCORFLG
REND7 # BRANCH FOR 2ND PASS THIS OPTICS MARK
CSMUPP CLEAR CALL
VINTFLAG # SET INTEGRATION VEHICLE EQ LM
INTEGRV CALL
GRP2PC # PHASE CHANGE CALL
SETINTG # SET FLAGS FOR INTEGRATION
GOTO
REND5
REND14 STOVL BVECTOR # VHF RADAR BVECTOR
ZEROVECS STORE BVECTOR +6 STOVL BVECTOR +12D
RCLP
UNIT DLOAD
VHFRANGE # VHFRANGE SCALED B-27
BON SR2
MOONTHIS
+1
DSU SET 36D # ABVAL (RCLP)
INCORFLG STORE DELTAQ
BOFF VLOAD
VEHUPFLG
REND14A # Page 584
BVECTOR
VCOMP STORE BVECTOR
REND14A CALL
GRP2PC DLOAD GOTO
RVAR
REND10
REND15 SLOAD DAD # GET ALT LOS VARIANCE
ALTVAR # BACKUP OPTICS
IMUVAR # IMU VARIANCE
GOTO
REND10
REND16 LXA,1INCR,1
VHFCNT # VHF RADAR UPDATE COUNT DEC1
SXA,1 GOTO
VHFCNT # UPDATE COUNT
REND1
REND17 LXA,1INCR,1
TRKMKCNT # OPTICS MARK COUNT DEC1
SXA,1 GOTO
TRKMKCNT # UPDATE COUNT
REND3
REND18 CALL
CMPOS # GET CSM POSITION
GOTO
REND13
CMPOS VLOAD VSR*
DELTACSM 7,2
VAD
RCVCSM STORE CSMPOS # CSM POSITION SCALED B-27 OR B-29
RVQ
LMPOS VLOAD VSR*
DELTALEM 7,2
VAD
RCVLEM STORE LEMPOS # LM POSITION SCALED B-27 OR B-29
RVQ
RENDISP EXIT CA FLAGWRD9 MASK SOURCBIT EXTEND BZF +3 CA BIT2 TC +2 # Page 585 CA BIT1 TS N49DISP +4 CAF ZERO # SET TEMPOR1 > ZERO TO INDICATE TS TEMPOR1 # V06 N49 DISPLAY HASN'T BEEN ANSWERED TC PHASCHNG OCT04022 CAF PRIO27 # SET UP DISPLAY JOB WITH HIGHER PRIORITY TC NOVAC EBANK= MRKBUF1 # THAN PRESENT JOB 2CADR RENDISP2
RENDISP7 TC INTPRET STORE MPAC SLOAD BZE
TEMPOR1
RENDISP7 +1# DISPLAY HAS NOT BEEN ANSWERED YET
BMN GOTO
REND12 # NEG INDICATES PROCEED
RENDISP3 # POS INDICATES RECYCLE
RENDISP2 CAF V06N49 TC BANKCALL CADR PRIODSP TC GOTOV56 # TERM EXIT P20 VIA V56 CS ONE # NEG INDICATES PROCEED RENDISP7 JOB TS TEMPOR1 # POS INDICATES RECYCLE RENDISP7 JOB TC ENDOFJOB # GO COMPLETE ABOVE JOB
RENDISP3 BON
SOURCFLG
REND1 # DATA WAS RADAR GO LOOK FOR OPTICS NEXT EXIT EBANK= MRKBUF1 INHINT CAF BUFBANK TS BBANK CA NEGONE TS MRKBUF1 # ERASE MARK ONE BUFFER TS MRKBUF2 # ERASE MARK TWO BUFFER RELINT
RENDISP4 TC INTPRET
GOTO
REND3
SXTVAR 2DEC0.04 E-6 B+16# SXT ERROR VARIANCE = .04 (MR)SQ
V06N49 VN0649 EBANK= MRKBUF1
BUFBANK BBCON RENDISP3 BANK31 SETLOC R22S1 # Page 586 BANK
SETINTG STQ CALL
EGRESS
INTSTALL # RESERVE INTEGRATION DLOAD SET
MARKTIME
STATEFLG STORE TDEC1 # MARKTIME
CLEAR CLEAR
INTYPFLG # PRECISION INTEGRATION
DIM0FLAG
SET CLRGO
VINTFLAG # SET VEHICLE EQ. CSM
D6OR9FLG # SET W MATRIX DIM. EQ 6
EGRESS # EXIT
CNTCHK STQ
POINTEX
CONTCHK BOFF
REFSMFLG # BRANCH TO END OF JOB IF REFSMMAT NO GOOD
ENDPLAC SLOAD BMN
R61CNTR
WAITONE1
BON BOFF # IS TRACK FLAG SET
UPDATFLG
POINTEX
TRACKFLG
ENDPLAC EXIT
REDOR22 TC PHASCHNG OCT00132 CAF PRIO26 TC PRIOCHNG TC WAITONE +3
WAITONE STQ
POINTEX
WAITONE1 EXIT CAF4SECS # WAIT 4 SECS. TC BANKCALL CADR DELAYJOB TC INTPRET
GOTO
CONTCHK # CHECK AGAIN NOW
RANGERD EXIT INHINT CS OCT17 EXTEND WAND CHAN13 # ZERO OUT BITS 1-4 OF CHANNEL 13 CAF OCT11 EXTEND # Page 587 WOR CHAN13 # GENERAGE SHIFT PULSES TO RADR, SET R. BIT RELINT EXTEND DCA TIME2 DXCH MARKTIME # READ PRESENT TIME TC DOWNFLAG ADRES SKIPVHF TC BANKCALL CADR RADSTALL # WAIT FOR RANGE COMPLETE TC LIGHTON # BAD DATA GOOD BIT TC TRFAILOF # TURN TRACKER LIGHT OFF
RANGERD1 CCS RM # 15 BIT UNSIGNED RANGE TC RANGERD4 # GR + 0 TC LIGHTON +4# = + 0 TC RANGERD3 # L - 0 TC RANGERD3 # = - 0
RANGERD4 TC INTPRET SLOAD DMP
RM
CONVRNGE # CONVERT RANGE TO METERS B-27
RANGERD2 STORE VHFRANGE
SET RVQ
SOURCFLG # SOURCE OF DATA TO VHF RADAR
RANGERD3 CA RM MASK POSMAX TS MPAC # MASK OUT NEG. SIGN BIT TC INTPRET
DMP
CONVRNGE # CONVERT FROM NM TO METERS AND SCALE B-27
DAD GOTO
RANGEB14 # VALUE IN METERS OF SIGN BIT SCALED B-27
RANGERD2
LIGHTON CA VHFRANGE EXTEND BZF +2 TC TRFAILON TC INTPRET DLOAD
MARKTIME STORE VHFTIME
GOTO
REND1
RANGEB14 2DEC303431.7 B-27# 16384 X 18.52 SCALED B-27
OCT17 OCT00017
OC40200 OCT40200
CONVRNGE 2DEC18.52 B-13# VHF INPUT RANGE CONV. FROM .01 NM TO M
VHFREAD EXTEND
ROR SUPERBNK # MUST SAVE SBANK BECAUSE OF RUPT # Page 588 TS BANKRUPT # EXITS VIA TASKOVER BADEND OR GOODEND CS ZERO TS RUPTAGN EXTEND QXCH QRUPT CS STATE +2 MASK SKIPVBIT # SKIPVHF FLAG EXTEND BZF TASKOVER # BRANCH IF VHF RESTART BIT SET CAF UPDATBIT MASK STATE +1# UPDATEFLG EXTEND BZF BYPASS1 CS STATE +4 MASK PDSPFBIT # PDSPFLAG EXTEND BZF BYPASS1 CA RNRAD TS RM # SAVE RANGE CAF BIT2 EXTEND
RAND CHAN33 # READ DATA GOOD BIT EXTEND BZF VHFGOOD # BRANCH IF DATA GOOD BIT EQUALS GOOD
BYPASS TS VHFRANGE # STORE NON ZERO VALUE CAF TWO TC POSTJUMP CADR BADEND
BYPASS1 CAF ZERO TC BYPASS
VHFGOOD CAF TWO TC POSTJUMP CADR GOODEND
SHIFTNDX AXT,2 BON 0
VEHUPFLG
SHIFTA # VEHICLE IS CSM
BON RVQ
LMOONFLG
+1 INCR,2 RVQ DEC -2
SHIFTA BON RVQ
CMOONFLG
+1# MOON ORB. INCR,2 RVQ DEC -2
INITIALW AXT,1 SSP 36D
S1 # Page 589 6
VLOAD
ZEROVECS
INITA STORE W +36D,1# CLEAR 0 - 35
TIX,1 AXT,1
INITA 36D
INITB STORE W +90D,1# CLEAR 54 - 89
TIX,1SLOAD
INITB 0# POSITION VALUE STORE W # INITIALIZE DIAGONAL W POSITION STORE W +8D STORE W +16D SLOAD 1# VELOCITY VALUE STORE W +72D # INITIALIZE DIAGONAL W VELOCITY STORE W +80D STORE W +88D
RVQ # Page 590 # CRS61.1 R/10/68 # # TO COMPUTE THE PREFERRED TRACKING ATTITUDE OF THE CSM WHICH ENABLES # OPTICS TRACKING OF THE LEM AND LM TRACKING OF THE CSM RADAR TRANSPONDER # AND TO COMPUTE THE X-AXIS TRACKING ATTITUDE OF THE CSM WHICH ENABLES # COAS TRACKING OF THE LM. # # TO PERFORM THE MANEUVER TO THE SELECTED TRACKING ATTITUDE IF THE # MANEUVER IS LESS THAN 10 DEGREES BUT TO CALL R60 IF THE MANEUVER IS # GREATER THAN 10 DEGREES BUT TO CALL R60 IF THE MANEUVER IS # GREATER THAN 10 DEGREES OR IF THE R60 FLAG IS SET. # # (1) EXTRAPOLATE LM AND CSM STATE VECTORS TO PRESENT TIME USING # CONIC EQUATIONS. # # (2) CALCULATE LOS FROM CSM TO LM = RL - RC. # # (3) THE PRERFERRED TRACKING ATTITUDE IS DEFINED AS FOLLOWS: # THE TRACK AXIS (I) IS ALIGNED ALONG THE LOS TO THE LM. THE # TRACK AXIS (I) IS DEFINED AS: # # UNIT(I)=UNIT(Z )COS55 & UNIT(X )SIN55 # - -SC -SC # # (4) COMPUTE DESIRED CDU ANGLES, USING VECPOINT. # # (Sorry, I don't know where (5) and (6) are. --- RSB 2009.) # (7) FORM DIFFERENCE BETWEEN DESIRED AND ACTUAL CDUS. # IF ANY OF THE THREE ANGLE DIFFERENCES EXCEEDS 10 DEGREES, # GROSS MANEUVER IS REQUIRED. SIGNAL R61 (SET MPAC=1) TO # OPERATE KALCMANU AND EXIT CRS61.1. # IF ALL DIFFERENCES ARE LESS THAN 10 DEGREES, CONTINUE. # # (8) CALCULATE ORTHOGONAL LOS RATE IN REF COORDS AS # # OMEGATH = (UNITLOS(B1) X UNITDV(B1))(ABSDV(B7)/ABSLOS(B29)) # # CONVERSION FACTOR OF 100/2PI (B4) REV CSEC PER RAD SEC IS # APPLIED TO YIELD UNITS OF REVS/SEC. SCALE IS CARRIED AS # B+1+1+7-29+4+1 PLUS RESULTS OF NORMALIZING ABSDV, ABSLOS. # THE EXTRA B+1 RESULTS FROM RESCALING ABSDV B8 AFTER NORM # TO AVOID OVFLOW ON DIVIDE. # # UNITLOS = UNIT( RL - RC ) B1. # UNITDY = UNIT( VL - VC ) B1. # ABSLOS = LENGTH OF LOS, METERS B29. # ABSDV = LENGTH OF DV, METERS/CSEC B7. # # (9) OBTAIN RATE IN SM COORDS. # # OMETATHSM = (REFSMMAT)(OMEGATH). # # (10) OBTAIN GIMBAL ANGLE INCREMENTS FOR 0.1 SECOND. # # DTHETASM = (0.1)(OMEGATHSM) # # (11) OBTAIN DELCDUX,Y,Z USING SUBR SMCDURES. # Page 591 # INPUT CONSISTS OF # # (A) VECTOR OF ANGULAR INCREMENTS, DTHETASM, STORED # IN V(DTHETASM). # (B) SIN,COS CDUX,Y,Z FROM SUBR CDUTRIG. # # TRANSFER OUTPUT OF SMCDURES FROM V(DCDU) TO VAC14D. # # (12) CALCULATE ANG LOS RATE IN BODY(NB) COORDS USING SUBR SMNB. # # OMEGANB = (SMNB)(OMETATHSM) # # SUBR SMNB REQUIRES OMEGATHSM IN V(VAC32D) AND ACTUAL CDUS # (Y,X,Z ORDER) IN V(VAC20D) WITH S1 OF VAC = BASE ADDRESS # OF CDUS (FIXLOC + 20D). # # (13) CALCULATE ANG LOS RATE IN CONTROL COORDS AS FOLLOWS # # WBODY = (MBDYTCTL)(OMEGANB) UNITS=REVS/SEC(B0) (?). # # ( 0.5 0 0 ) BODY TO # MBDYTCTL(B1) = ( 0 COS(7.25)B1 -SIN(7.25)B1 ) = CONTROL # ( 0 SIN(7.25)B1 COS(7.25)B1 ) AXES # CONVERSION # MATRIX # # (14) RESCALE WBODY TO UNITS OF 460 DEG/SEC BY APPLYING FACTOR # OF 0.8 TO REVS/SEC. # # (15) ADDRESS LIVE AUTOPILOT REGISTERS IN BASIC (UNDER INHINT). # # TRANSFER DESIRED CDUS, SCALED 180 DEGREES, FROM T(SAVEDCDU) # TO V(CDUXD). # # TRANSFER DELCDUS, SCALED 180 DEG, FROM V(VAC14D) # TO V(DELCDUX). # # TRANSFER OMEGA CONTROL, SCALED 450 DEG/SEC, FROM V(MPAC) # TO V(WBODY). # # RELINT, SET MPAC=0, EXIT CRS61.1. # # CALL: L CALL CRS61.1 # # RETURNS: ALL TO L+1. # # (1) S(MPAC)=0. NORMAL EXIT. 3 SETS OF INPUTS FED TO DAP. # (2) S(MPAC)=1. CALCULATED DESIRED CDUS,SP, SET IN T(CPHI) # FOR KALCMANU. ABS(ACDU - DCDU) EXCEEDS 10 DEGREES. # (3) S(MPAC)=2. GNCS AUTO MODE NOT SELECTED (BIT10=1). # (4) S(MPAC)=3. DAP HOLD FLAG (HOLDFLAG) NOT EQUAL -1. # Page 592 # # INPUT: (1) TIME2,TIME1. COMPUTER CLOCK TIME,DP, CENTISEC B28. # (2) CDUX,Y,Z. PRESENT CDU ANGLES,SP,2S COMPL HALF-REVS B0. # (3) M(REFSMMAT), STABLE MEMBER COORDS B1. # # OUTPUT: NORMAL. EXIT WITH S(MPAC) = 0. # # (1) CDUXD,CDUYD,CDUZD, DESIRED OUTER, INNER, MIDDLE CDU ANGLES, # DP, IS COMPL, SCALED 180 DEGREES (HALF-REVS B0). # (2) DELCDUX,DELCDUY,DELCDUZ. 0.1 SEC DCU ANGULAR INCREMENTS, # DP, IS COMPL, SCALED 180 DEG. # (3) WBODY,WBODY1,WBODY2. LOS ANGULAR RATE IN CONTROL COORDS, # DP, IS COMPL, SCALED 450 DEG/SEC. # # SPECIAL. EXIT WITH S(MPAC) = 1. # # (1) CPHI,CTHETA,CPSI. DESIRED OUTER, INNER, MIDDLE CDU ANGLES, # SP, 2'S COMPL, SCALED 180 DEGREES. # # EXTERNAL SUBROUTINES USED (B)=BASIC # # (1) CALCGA (5) LOADTIME(B) (9) SMNB # (2) CDUTRIG (6) MATMOVE # (3) CSMCONIC (7) RCDUS(B) # (4) LEMCONIC (8) SMCDURES # # ERASABLE # # (1) S(Q611),EBANK7 CRS61.1 EXIT. # (2) S(Q6111),EBANK7 CALCDCDU EXIT. # (3) T(SAVEDCDU),E6 SP VECTOR OF CDUDS. # (4) V(SAVEPOS),E7 CSM POS VEC AND D(SAVEPOS)= LENGTH OF LOS. # (5) V(SAVEVEL),E7 CSM VEL VEC. # # FLAGWDS: HOLDFLAG. USED, NOT SET. # # MISC: (1) ERASABLE ITEMP1 USED TO TEMP STORE EBANK UNDER INHINT. # (2) ERASABLE P21TIME USED AS TEMP STORE DURING CRS61.1 # (3) ERAS DTHETASM USED AS TEMP STORE DURING EARLY CRS61.1 # # DEBRIS -- CURRENT VAC AREA, CRS61.1 ERASABLES, ITEMP1, P21TIME
STORT STCALL P21TIME # STORE CLOCK TIME FOR SUBR R63
R63 # SUBR TO CALC DCDU (T=PRESENT,PASS1)
TLOAD
THETAD # SAVE DCDU(T) FROM CALCDCDU FOR STEP4. STORE SAVEDCDU
DAPCK CS FLAGWRD1 # IS STIKFLAG SET (I.E., IS SOMEONE ON RHC) MASK STIKBIT CCS A TC STEP3CK
ASET CAF ZERO TS MPAC TC INTPRET # EXIT CRS61.1
GOTO
Q611
STEP2CK TC BANKCALL CADR UPACTOFF
CAF TWO # SET TEMPORARY INDEX DTHETASM = 2
CDULOOP TS DTHETASM INDEX DTHETASM CA CDUX # SET A = ACTUAL CDU (ACDU). EXTEND INDEX DTHETASM # SET INDEX TO ACCESS DESIRED CDU (DCDU). MSU THETAD # A = DIFF = ACDU - DCDU. TS MPAC # RETURN TO INTERPRETER FOR 10 DEGREE CK. TC INTPRET # (DP APPROX SP OK FOR ROUGH CHECK)
ABS DSU
DEGREE10 # IS (ACDU - DCDU) MORE THAN 10 DEGREES.
BPL EXIT# NO -- OK, CONTINUE CHECKING OTHER ANGLES.
STKTEST # TEST STICK FLAG CCS DTHETASM # HAVE ALL 3 ANGLE DIFFS BEEN CHECKED. TC CDULOOP # NO -- DIM COUNT, CHECK NEXT ANGLE DIFF. TC AUTOCK
STKTEST EXIT CS FLAGWRD1 MASK STIKBIT # Page 594 CCS A TC MANUEXIS # STIKFLAG IS NOT SET (DO R63) CAF BIT3 EXTEND# STIKFLG IS SET WOR DSALMOUT # TURN ON UPACTY LIGHT
TC ASET # EXIT AND SET R61CNTR
STEP3CK TC INTPRET
SETPD 0# * # NOW HAVE DCDUS STORED IN T(SAVEDCDU). # GO CALC OTHER DAP INPUTS (DELCDU,WBODY)
CRS61.2 VLOAD VSU
DCDU
SAVEVEL # DV = VL - VC
UNIT VCOMP # V(MPAC)=-UNITDV. VAC36D=ABSDV.
VXV VXSC# (-UNITDV)CROSS(UNITLOS).
SAVEPOS
RVCS/RDS # (UNITLOS B1)(UNITDV B1)(CONST B4)=CROSS. PUSH# HOLD CROSS IN PUSHLIST0. SCALED B6. DLOAD NORM # OBTAIN ABS VALUE OF LOS.
P21TIME # P21TIME IS TEMP STORE FOR ABSLOS.
X1 PUSH# NORM ABSLOS(DENOM) AND HOLD IN PUSH1.
DLOAD NORM 36D # NORM ABS VALUE OF DV(NUM).
S1
XSU,1 SR1 # X1 = X1(N DENOM)-S1(N NUM).
S1 # SR1 TO AVOID OFLOW ON DOV.
DDV VXSC# ABSDV(MPAC)/ABSLOS(PUSH1) = QUOT.
SXA,1# QUOT(MPAC) X CROSS(PUSH0)
Q6111 # SAVE SCALE OF RESULT (R-15,1X). # X1= NORM OF QUOT. QTUOT SCALE B7-B29=B-22 # CROSS IS SCALED B6. NEED SL1 TO RECOVER # SR1 SO THAT -22+6+1=-15. MPAC NOW HOLDS # ORTHO LOS RATE (OMEGA TH, B-15,X1).
MXV VSL1 # OBTAIN RATE IN SM COORDS (OMEGTHSM) AND
REFSMMAT # ADJUST FOR REFSMMAT SCALE OF B1. STORE20D # OMEGTHSM = VAC20D # DELTA THETA SM = OMEGTHSM * .1B-3. VXSC
TENTH STORE DTHETASM # STORE SM INCREM ANGLES FOR SMCDURES. CALL
CDUTRIG # OBTAIN SIN,COSCDUS FOR SMCDURES.
SETPD CALL# SMCDURES USES PUSH 0
SMCDURES # OBTAIN DELCDU IN V(DCDU). # Page 595
LXA,1# RELOAD X1
Q6111
VLOAD VSL* # RECOVER SCALE.
DCDU # (B-15,X1) + TENTH(B-3) + HALFREVS(B1) 0 -17D,1# EQUALS B-17D,1 TO OBTAIN HALFREVS B0. STORE14D # HOLD DELS IN V(VAC14D) FOR AUTOPILOT.
CALL# COMPUTES SINES AND COSINES FOR *SMNB*
CDUTRIG
VLOAD CALL# LOAD VECTOR AND CALL TRANSFORMATION 20D # VECTOR FOR TRG*SMNB INTO MPAC
*SMNB* # OBTAIN ANG. RATE REFERRED TO NB (BODY)
MXV
MBDYTCTL # CONVERT RATE(OMEGA) TO CONTROL COORDS. VXSC# MULT. BY 0.8 TO RESCALE REVS TO 450 DEG.
POINT8 # RECOVER SCALE.
LXA,1 VSL* # RELOAD X1 TO RECOVER NORMALIZ.
Q6111 # (B-15,X1) + MBDYTCTL(B1) = B-14D,1 TO 0 -14D,1# OBTAIN REVS SCALED AT 450 DEGREES.
CRS61.2A EXIT INHINT CAF ZERO # TRANSFER DESIRED GIMBAL ANGLES TS CDUXD +1# FROM T(SAVEDCDU) TO V(CDUXD). TS CDUYD +1 TS CDUZD +1 CA SAVEDCDU TS CDUXD CA SAVEDCDU +1 TS CDUYD CA SAVEDCDU +2 TS CDUZD
EXTEND# TRANSFER OMEGA CONTROL (ANG. LOS RATE) DCA MPAC # FROM V(MPAC) TO V(WBODY) DXCH WBODY EXTEND DCA MPAC +3 DXCH WBODY1 EXTEND DCA MPAC +5 DXCH WBODY2
EXTEND# TRANSFER CDU INCREMENTS INDEX FIXLOC # FROM V(VAC14D) TO V(DELCDUX) DCA14D DXCH DELCDUX EXTEND INDEX FIXLOC DCA16D # Page 596 DXCH DELCDUY EXTEND INDEX FIXLOC DCA18D DXCH DELCDUZ CS ONE # NOW DAP VARIABLES LOADED. SET HOLDFLAG. TS HOLDFLAG # TO -1. RELINT TC ASET
MANUEXIS TC INTPRET
MANUEXIT TLOAD # ENTER FROM STEP2. ACDU-DCDU EXCEEDS
SAVEDCDU # 10 DEG. STORE DCDU(T) IN CPHI,CTHETA, STORE CPHI # CPSI FOR KALCMANU. SLOAD GOTO # SPECIAL RETURN (MPAC+0 = 1)
LOONE # OCTAL 00001
Q611
R63 STQ DLOAD# SUBR TO CALC DCDUS(T)
Q6111
P21TIME
STCALL TDEC1
CSMCONIC
HOLDATT VLOAD # HOLD EXTRAPOLATED CSM POSITION AND
RATT # VELOCITY STOVL SAVEPOS
VATT STORE SAVEVEL
CALCLEM DLOAD# EXTRAPOLATE LEM STATE VECTOR TO SAVE
P21TIME # TIME AS CSM USING LEMCONIC
STCALL TDEC1
LEMCONIC
VLOAD
VATT STOVL DCDU # STORE VATT IN DCDU TEMPORARILY
RATT # LOS = RL RC
VSU UNIT
SAVEPOS STORE SAVEPOS # SAVE UNITLOS FOR CRS61.2 RATE CALC.
MXV VSL1
REFSMMAT # CONVERT TO STABLE MEMBER STODL POINTVSM 36D # HOLD ABS VAL OF LOS (VAC 36D) STORE P21TIME # IN D(P21TIME) FOR CRS61.2 RATE CALC.
VLOAD
UNITX
STCALL SCAXIS # TRACK AXIS UNIT VECTOR
VECPOINT # FOR +X-AXIS TRACKING ATTITUDE STORE CPHIX # STORE ANGLES FOR N96 DISPLAY
VLOAD
PRFUNIT # Page 597
STCALL SCAXIS
VECPOINT STORE PRAXIS # STORE ANGLES FOR N95 DISPLAY
BOFF
PRFTRKAT
CRSTOR1
CRSTOR STORE THETAD # STORE ANGLES FOR N18 DISPLAY
GOTO
Q6111
CRSTOR1 VLOAD
UNITX STORE SCAXIS
TLOAD GOTO
CPHIX
CRSTOR
PRFUNIT 2DEC .40957602# 55 DEG TRACK AXIS UNIT VECTOR
2DEC0.0# FOR USE WITH VECPOINT
2DEC .28678822
DEGREE10 DEC .05556# 10 DEG IN REVS STEP2
RVCS/RDS 2DEC15.915494 B-4# 100/2PI REV-CSEC/RAD-SEC.
TENTH 2DEC .1 B+3# .1 B-3 (TO SCALE ANG. RATE TO .1 INREMS)
MAT1B1 2DEC1.0 B-1
MBDYTCTL 2DEC .5# 7.25 DEG NEGATIVE
2DEC0# X-AXIS ROTATION MATRIX
2DEC0# CONVERTS BODY TO CTL
2DEC0# AXES. CAME AS QUADROT
2DEC .99200495 B-1# COS7.25 B1 BUT SCALED B
2DEC -.12619897 B-1# -SIN7.25 B1
2DEC0
2DEC .12619897 B-1# SIN7.25 B1
2DEC .99200495 B-1# COS7.25 B1
LOONE OCT00001# TO SET MPAC = 00001 FOR SPECIAL EXIT.
FURST3 EQUALS13,14,15# CONSTANT FOR AUTOCK (OCT 70000).
# Page 598 # ..... S22.1 ORBITAL NAVIGATION ROUTINE # MOD 1 # # FUNCTIONAL DESCRIPTION # 1. UPDATE CSM STATE VECTOR # 2. UPDATE LANDMARK POSITION # 3. CONVERT W MATRIX FROM 9 TO 6 DIMENSIONS # # SUBROUTINES CALLED # INTSTALL,INTEGRV,GETNUM,SETRE,R-TO-TP,RP-TO-R,BVECTORS,INCORP1,INCORP2 # LALOTORV,S22F2410,LAT-LONG,ROWDOT # # ERASABLE INITIALIZATION # W=9X9 MATRIX # ORBWFLAG=0 FOR INVALID W MATRIX, =1 FOR VALID W MATRIX # ASTRONAUT ENTRY OF KNOWN,L,OFF # 8NN= NUMBER OF MARKS, DECIMAL INTEGER B-14 # REFSMMAT= TRANSFORMATION MATRIX # MARKSTAT= ADDRESS OF START OF MARK DATA (MARK DATA OF EACH MARK IS # STORED AS FOLLOWS: TIME,AIG,SA,AMG,PA,AOG) TIME IS IN DOUBLE # PRECISION, ALL OTHERS ARE IN SINGLE PRECISION # CSM STATE VECTOR # # OUTPUT # UPDATED CSM STATE VECTOR # UPDATED LANDMARK POSITION # NEW 6 DIMENSIONAL W MATRIX # # DEBRIS # PUSH LIST,CSMPOS,ALPHAV,ERADM,UM,RCLP,USTAR,VARIANCE,X789,BVECTOR,8KK, # S22LOC,SVMRKDAT TABLE,22SUBSCL,LANDMARK,CXOFF,S22C,LAT,LOG,ALT, # TEMPOR1,S22TOFF,S221OFF,DSPTEM1,S22EORM,S22TPRIM
BANK13
SETLOC P20S6 BANK
EBANK= LANDMARK COUNT35/LUORB
S22.1 STQ SSP
S22RTNEX
S1 DEC6
SSP SSP # SET I=1 ITEM 8KK IS I 8KK DEC1
S22LOC
ECADR SVMRKDAT # SET MARK DATA ADDRESS INTO S22LOC # Page 599
LXC,2 AXT,1
MARKSTAT DEC36
S22.111 VLOAD* # MOVE MARK DATA (5 SETS FROM ADDR. IN 0,2# MARKSTAT TO SVMRKDAT TABLE TO AVOID LOSS STORE SVMRKDAT +36D,1# IF RESTART OCCURS INCR,2 TIX,1 DEC -6
S22.111
SET EXIT
P22MKFLG # DOWNLINKED SVMRKDAT HOLDS PRESENT MARKS TC BANKCALL # RELEASE VAC AREA WHERE MARK DATA WAS CADR MKRELEAS TC2PHSCHNG OCT00004 OCT05022 OCT13000 TC INTPRET
AXT,1 BOFF 0D
CMOONFLG # =0 EARTH, =1 MOON
S22SHIFT INCR,1 DEC -2
S22SHIFT SXA,1 SETPD
S22EORM # SET =0 EARTH, =-2 MOON FOR SHIFTING 0D
FIG2EXIT CALL
INTSTALL CALL
S22FLGS # FLOWCHART D=0 THEN DIM0FLAG=0, D6O9FLG NOT TESTED # FLOWCHART D=6 THEN DIM0FLAG=1, D60R9FLG=0 # FLOWCHART D=9 THEN DIM0FLAG=1, D6OR9FLG=1
BOFF CLRGO
ORBWFLAG
SETWW5D # BRANCH TO SET W0-W5,ORBWFLAG,D
D6OR9FLG # FLOWCHART D=6 PATH
SETVANDI
SETWW5D CLEAR
DIM0FLAG # FLOWCHART D=0 PATH
AXT,1 SSP DEC108
S1 DEC6
CLEAR VLOAD
RENDWFLG # GSOP CHANGE 8/18/67
ZEROVECS
CLEARWW5 STORE W +108D,1 # Page 600
TIX,1SLOAD
CLEARWW5
WORBPOS STORE W # SET DIAGONALS OF W0 STORE W +8D STORE W +16D SLOAD
WORBVEL STORE W +72D # SET DIAGONALS OF W4 STORE W +80D STORE W +88D
SETVANDI CLEAR
DMENFLG # 0=6X6W, 1=9X9W
S22NXTIN CALL
GETTF
STCALL TDEC1
INTEGRV CALL
S22CALRC # CALC. RC B-29 OR B-27 (CSMPOS)
LXA,1 SXA,1
S22LOC # SETUP ADDR. OF MARK DATA FOR GETUM SUBR.
MARKDATA CALL# COMPUTE UM
S2GETUM GETUM STORE UM
DMPINTEG SLOADPUSH# TEST OFF=I 8KK SLOAD SR3 # CXOFF SCALED B-5, MUST MOVE TO B-14
CXOFF # BEFORE SUBT.
SR3 SR3
DSU
BHIZ BON
S22OFF=I # BRANCH HERE IF OFF=I
DMENFLG # 0=6X6W, 1=9X9W
S22D=9 CALL
GRP2PC
SET
ORBWFLAG
SET SET
DMENFLG # =0 ON FIRST PASS THRU HERE FOR D=0, OR 6 22DSPFLG # =1 TO DISPLAY DR,DV ON FIRST PASS
SET BON
ERADFLAG # =1 TO COMPUTE FISCHER RADIUS
KNOWNFLG
S22BOX22
VLOAD UNIT # UNIT ALSO PUTS ABVAL(RC) IN 36D
CSMPOS STORE ALPHAV # ALPHAV +4=SINL FOR SETRE
CLEAR BOFF # Page 601
LUNAFLAG
CMOONFLG
S22C=I
SET
LUNAFLAG
S22C=I CALL# ERADM= R0 METERS B-29 BOTH EARTH/MOON
SETRE CALL# COMPUTE RL FROM EQUATION 2.4.10
S22F2410 # STORED IN X789,MPAC B-27,B-29
BOFF VSR2 # SCALE RL B-29 FOR BOTH EARTH/MOON
CMOONFLG
+1 STORE S22RL
DOT SL1
UM STOVL S22D # D=UM RL B-29
ZEROVECS
SETPD PUSH 0D PUSH PDDL # SET 0-18D = I BACKWARDS
HIDPHALF # PD 18
SR2 # B-3 STORE4D STORE8D STOVL12D
UM # B-1 STOVL S223X1
S22RL # B-29 CALL# (UM)(RL T) B-30 STORED IN S22UMRL THRU
S2231X13 # S22UMRL +17D
AXT,1 SSP DEC18
S1 DEC6
S22NXTU VLOAD* VSR2 # (UM)(RL T) B-32
S22UMRL +18D,1
V/SC
S22D # D B-29 BVSUSTADR# SUBTRACT FROM I B-3 STORE S22UMRL +18D,1# U MATRIX B-3
TIX,1 AXT,1# PD 0 AFTER TIX
S22NXTU DEC36# S1 STILL 6 FROM ABOVE
S22NXTWI VLOAD* MXV
W +36D,1# B-19
S22UMRL # B-3
VSL3 STORE W +144D,1# W(I+18)= UW(I) B-19
TIX,1DLOAD
S22NXTWI # Page 602
S22RHO # B-28,B-30
BOFF SR2 # MAKE RHO B-30
CMOONFLG
+1
NORM XAD,2
X2
X2
DSQ DMP
SCTVAR # B+16
SR1 # ACCOUNTS FOR 1/2 IN NEXT FORMULA STORE S22RHO # 1/2(RHO SQ)(VARSCT)
AXT,1 DEC18# S1 STILL 6 FROM ABOVE
S22NXXA VLOAD* MXV
S22UMRL +18D,1# B-3
S22UMRL # B-3 VXSC VSR*
S22RHO 0 -12D,2# WITH VARRP SCALED B-28 STORE S22UUT +18D,1# 1/2(RHO SQ)(VARSCT)(U)(U T)
TIX,1 VLOAD
S22NXXA
UM
STCALL S223X1 # UM ALSO IN MPAC FOR S2231X13 SUBR.
S2231X13 # (UM)(UM T) B-2 IN S22UMRL,P17D DLOAD SR3
ERADM # B0 B-29
DDV DSQ
S22D # B-29
DMP
RPVAR # ***** METERS SQ STORE S22RHO # TEMP (VARRP)(R0/D)
AXT,1 DEC18# S1 STILL 6 FROM ABOVE
S22NXXB VLOAD* VXSC
S22UMRL +18D,1# (UM)(UM T) B-2
S22RHO
VAD*
S22UUT +18D,1 STORE S22UUT +18D,1# SMALL E MATRIX
VLOAD
ZEROVECS STORE W +162D,1# CLEAR W8
TIX,1 BOV
S22NXXB
+1 DLOAD BMN
S22UUT +16D # E5
S22W76X
SQRT BZE # Page 603
S22W76X STODL W +148D # W74= SQ ROOT E5
S22UUT +14D # E4
DDV BOV
W +148D
S22W72X STORE W +146D # W73= E4/W74
S22W72X DLOAD DDV
S22UUT +12D # E3
W +148D
BOV
S22W76X STORE W +144D # W72= E4/W74
S22W76X DLOAD DSQ
W +146D # W73
BDSU BMN
S22UUT +8D # E2
S22W78X
SQRT BZE
S22W78X STODL W +152D # W76= SQ ROOT (E2-W73 SQ)
W +144D # W72
DMP BDSU
W +146D # W73
S22UUT +6D # E1
DDV BOV
W +152D # W76
S22W78X STORE W +150D # W75= (E1-W72W73)/W76
S22W78X DLOAD DSQ
W +150D
PDDL DSQ
W +144D # W72
DAD
BDSU BMN
S22UUT # E0
S22SCLW
SQRT STORE W +156D # W78= SQ RT(E0-W72 SQ-W75 SQ)
S22SCLW VLOAD VSR1 # SCALE W6 METERS B-19
W +144D STOVL W +144D
W +150D
VSR1 STOVL W +150D
W +156D
VSR1 STORE W +156D
S22SAVET CALL
GETTF # Page 604 STORE S22TPRIM # SAVE PRESENT TIME FOR PIOS
S22I=N EXIT# TEST I=N TC PHASCHNG OCT04022 CS8KK AD8NN EXTEND BZMF S22F244X # EXIT TO FIGURE 2.4-4 CA8KK # I=I+1 AD ONE TS TEMPOR1 CA S22LOC # ADD 7 TO LOC TO GET ADDR. OF NEXT MARK AD SEVEN TS TEMPOR1 +1 TC PHASCHNG OCT04022 CA TEMPOR1 TS8KK CA TEMPOR1 +1 TS S22LOC TC INTPRET CALL# FOR ALL INTEGRATIONS OTHER THAN FIRST
S2INTS1 INTSTALL CALL
S22FLGS
BON CLEAR
DMENFLG
S22NXTIN # RETURN ALWAYS EXCEPT OFFSET POINT MARK 1
DIM0FLAG
BOFF SET
ORBWFLAG
S22NXTIN # OFFSET POINT MARK 1, NO W INTEGRATION
DIM0FLAG
CLRGO
D6OR9FLG
S22NXTIN # OFFSET POINT MARK 1, INTEGRATE W 6X6
S22OFF=I CALL
GETTF STOVL S22TOFF # TIME SUB OFF
UM
STCALL S22UOFF # U SUB OFF
S22I=N # TEST I=N
S22D=9 VLOAD # D=9 PATH
X789 STODL0D # CALL PIOS TWICE TO TRANSFORM RL TO TIME
S22TPRIM # T(SUB F) FROM TIME T PRIME STORE6D SLOADCALL
S22EORM # 0=EARTH, NON-ZERO=MOON
S2RTRP R-TO-RP # Page 605 PUSHCALL# R-TO-RP LEAVES PUSHLOC AT 0
GETTF STORE6D SLOADCALL
S22EORM
S2RPTR RP-TO-R
S22BOX32 STORE X789
SET BOV
INCORFLG # FLAG=1
+1# CLEAR OVERFLOW
VSU
CSMPOS STORE RCLP # RCL=RL-RC
UNIT VXV # USTAR=UNIT(UNIT(RCL)XUM)
UM
UNIT BOV
S22SAVET # COMPUTATION OVERFLOW, SAVE TF STORE USTAR
S22BOX12 SET SET
DMENFLG # =1 FOR 9X9 W
VEHUPFLG # =1 FOR CSM DLOAD DAD
SCTVAR # B+18
IMUVARR # B+18 STOVL VARIANCE
RCLP # B-29 OR B-27
ABVAL NORM
X1
DSQ DMP
VARIANCE
XAD,1 XAD,1
X1 # DOUBLE NORM SHIFT SINCE RCLP WAS SQUARED
S22EORM # DOUBLE EARTH OR MOON SHIFT, SAME REASON
XAD,1 SR*
S22EORM 0,1# SCALE VARIANCE B-40 FOR BOTH EARTH, MOON
TLOAD # CHANGE MODE TO TRIPLE
MPAC
STCALL VARIANCE # CALC B0,B1,DELTAQ, NEW USTAR
S2BVTRS BVECTORS
VLOAD VCOMP
BVECTOR
STCALL BVECTOR +12D # B2=-B0
S2INCP1 INCORP1 CALL
GRP2PC
BOFF CLEAR 22DSPFLG # =1 DISPLAY DELTA R,V =0 DO NOT
S22BOX42 22DSPFLG # Page 606 CALL
GRP2PC
VLOAD ABVAL
DELTAX # DELTA R
LXA,1 SR*
S22EORM # SCALE DELTA R ALWAYS METERS B-29 0,1 STOVL N49DISP
DELTAX +6# DELTA V
ABVAL SR* # DELTA V=METERS/CSEC B-7 ALWAYS 0,1 STORE N49DISP +2 EXIT CAF V06N49EE TC BANKCALL CADR GOFLASHR TC GOTOPOOH # V34E TERMINATE TC +5# INCORPORATE CHANGES TC S22EXEX # V32E RECYCLE CAF BIT3 TC BLANKET TC ENDOFJOB TC INTPRET
S22BOX42 CALL
INCORP2 CALL# CSMPOS=RC B-29 OR B-27
S22CALRC
DMPINCP2 BOFF CALL
INCORFLG
S22SAVET # SAVE TF AND TEST I=N
GRP2PC
CLEAR VLOAD
INCORFLG # FLAG=0
X789
VSU
CSMPOS
STCALL RCLP # RCL=RL-RC
S22BOX12
S22BOX22 AXT,1 SSP # CLEAR W6,W7,W8. (27 ELEMENTS 54 REGS) DEC54
S1 DEC6
VLOAD
ZEROVECS
CLRW678 STORE W +162D,1
TIX,1SLOAD
CLRW678
S22WSUBL STORE W +144D STORE W +152D # Page 607 STORE W +160D
CLEAR BOFF # SET LUNAFLAG, TIME FOR LALOTORV
LUNAFLAG # ERADFLAG,LAT,LONG,ALT SET PREVIOUSLY
CMOONFLG # CHECK SCALING OF ITEMS,ALT INPUT AND
S22BX22A # RL OUTPUT IN ALPHAV BOTH B-29
SET
LUNAFLAG
S22BX22A CALL
GETTF CALL# COMPUTE RL
LALOTORV
VLOAD BOFF
ALPHAV # RL B-29
CMOONFLG
S22BX22B
VSL2 # SCALE RL B-27 FOR MOON
S22BX22B GOTO
S22BOX32
S22F244X TC INTPRET
S22F244 SLOAD BHIZ # FIG 2.4-4 TEST OFF=0
CXOFF
S22BOX44
SR # SCALE OFFSET B-14 THEN GET GR. 8NN 9D STORE ALPHAV # TEMP SLOAD DSU 8NN
ALPHAV
BMN CALL# OFFSET GR. NO. MARKS. FORGET IT
S22BOX44
GRP2PC # GROUP 2 PHASE CHANGE DLOAD
S22TOFF
STCALL TDEC1 # CALC RC AT OFFSET TIME
CSMPREC
VLOAD
RATT1 # RC METERS B-29 OR B-27 STOVL CSMPOS
S22UOFF STOVL UM # U=UOFF
X789
ABVAL BOFF
CMOONFLG
+2
SR2 # SCALE MOON R0 B-29 FOR S22F2410 SUBR
STCALL ERADM
S22F2410
GOTO
S22BX44A
S22BOX44 CALL # Page 608
GETTF STORE S22TOFF # PRESENT TIME FOR LAT-LONG SETUP
S22BX44A CLEAR VLOAD
LUNAFLAG
X789
BOFF SET
CMOONFLG
S22BX44B
LUNAFLAG # SET = 1 FOR LAT-LONG
VSR2 # SCALE RL MOON B-29 FOR LAT-LONG
S22BX44B STODL ALPHAV # RL SCALED B-29 FOR LAT-LONG
S22TOFF # EITHER PRESENT OR OFFSET TIME CALL
LAT-LONG # **** ALT OUTPUT ALWAYS B-29 CALL# DISPLAY LAT/LONG/ALT
LLASRD EXIT CAF V06N89B TC BANKCALL CADR GOFLASH TC S22GTP # V34E TERMINATE TC +2# PROCEED SAVE LANDING SITE COORD TC S22.981X # RECYCLE POINT A IN GSOP TC INTPRET DLOAD
S22TOFF # EITHER PRESENT OR OFFSET TIME STOVL6D # 6-7D= LANDING SITE TIME FOR R-TO-RP
X789 STORE0D # 0-5D= LANDING SITE VEC FOR R-TO-RP SLOADCALL
HIDPHALF # ANY NON-ZERO FOR MOON
R-TO-RP # CONVERT RLS TO MOON-FIXED COORD STORE RLS # LANDING SITE VECTOR EXIT
S22.981X TC INTPRET CALL 9DWTO6DW EXIT# GO TO POINT A IN CHAPTER 5
S22EXEX TC INTPRET # WITHOUT CONVERTING W
GOTO
S22RTNEX
S22GTP TC INTPRET # CONVERT W BEFORE TC GOTOPOOH CALL 9DWTO6DW EXIT TC GOTOPOOH
S22F2410 SETPD VLOAD # COMPUTE FORMULA 2.4.10 0D
CSMPOS # RC B-29 EARTH, B-27 MOON # Page 609
UNIT DOT # UNIT ALSO SETS 36D=ABVAL(RC) USED BELOW
UM
SL1 DCOMP # GSOP CHANGE 8/18/67 PUSH# PD 2D 8D=COSA=-(UM.RC)/ABVAL(RC) B-1
DSQ BDSU
DEC1B2
PDDL BOFF # PD 4D 2D=1-COSA SQ=SINA SQ B-2
ERADM # R0 ALWAYS B-29 FROM SETRE
CMOONFLG
+2
SL2 # SCALE R0 B-27 FOR MOON
SR1R DDV # (R0/RC) B-1 36D
DSQ DSU # PD 2D (RP/RC) SQ - SINA SQ B-2
SQRT BDSU # PD 0D COSA-SQRT((R0/RC)SQ-SINA SQ) B-1
DMP # DMP RESULT B-28 MOON, B-30 EARTH 36D # VXSC RESULT B-29 MOON, B-31 EARTH STORE S22RHO # RHO FOR W INIT. OF UNKNOWN LMK B-28,B-30 VXSC
UM
VSL2 VAD # SCALE B-27 MOON, B-29 EARTH AND ADD RC
CSMPOS STORE X789
RVQ # B-27 FOR EARTH OR B-29 FOR MOON
S22CALRC LXA,1 VLOAD # COMPUTE RC B-29 OR B-27
S22EORM # =0 FOR EARTH, -2 FOR MOON
DELTACSM
VSR* VAD 7,1
RCVCSM STORE CSMPOS
RVQ SETLOC P22S BANK
S2231X13 STORE S221X3 # MULT 3X1 BY 1X3, STORE RESULTING 3X3 IN
SSP AXT,2# S22UMRL - S22UMRL+17D
S2 DEC2 DEC6
AXT,1 DEC18
S2231NXT VLOAD VXSC*
S221X3
S223X1 +6,2 STORE S22UMRL +18D,1 INCR,1 TIX,2 DEC -6
S2231NXT
RVQ # Page 610
GETTF LXC,1DLOAD* # SET MPAC= TF
S22LOC 0,1
RVQ
S22FLGS SET SET # INTEGRATION FLAGS
DIM0FLAG
D6OR9FLG
SET SET
VINTFLAG
STATEFLG
CLEAR RVQ
INTYPFLG
# SUBROUTINE TO MODIFY ALT AND STORE LAT TO LAT+5 IN LANDLAT TO LANDLAT+5 # PRIOR TO DISPLAY.
LLASRD DLOAD# ALT, LANDALT METERS B-29
ALT STODL LANDALT
LONG
SR1 STORE LANDLONG
RVQ
# SUBROUTINE TO MODIFY LANDALT AND STORE LANDALT TO LANDALT+5 IN LAT TO # LAT+5 AFTER LMK DATA LOADED BY ASTRONAUT.
LLASRDA DLOAD# ALT, LANDALT METERS B-29
LANDALT STODL ALT
LANDLONG
SL1 STORE LONG
RVQ SETLOC P20S6 BANK
9DWTO6DW STQ SETPD 9DWXX 0D
VLOAD PUSH# CLEAR WORKING AREA OF PUSHLIST
HI6ZEROS # INCLUDING P PUSHPUSH# PD 18D
SSP 9DWJ # J=29 USE 2*29 FOR DP WORDS DEC58 9DWI=J LXA,1 SXA,1# SET I=J 9DWJ 9DWI 9DWEPCAL CALL # Page 611
ROWDOT
LXA,1# P VARIES 0-20 INSTEAD OF 20-0 9DWP STORE EMATRIX +40D,1 INCR,1 SXA,1 DEC2 9DWP SLOAD BHIZ # TEST I=0 9DWI 9DWTESTJ
DSU # I=I-1 9DWID STORE9DWI
DSU BHIZ # TEST I=26 9DW26D 9DWSETI2
GOTO # NEXT E SUB P 9DWEPCAL 9DWSETI2 SSP GOTO # I=2 9DWI DEC4 9DWEPCAL 9DWTESTJ SLOAD BHIZ # TEST J=0 9DWJ 9DWFIG6
DSU 9DWID STORE9DWJ # J=J-1
DSU BHIZ # TEST J=26 9DW26D 9DWSETJ2
GOTO 9DWI=J 9DWSETJ2 SSP GOTO # SET J=2 9DWJ DEC4 9DWI=J 9DWFIG6 CALL
GRP2PC
SSP VLOAD # START OF FIGURE 2.4-6 9DWJ # J=29 DEC58
HI6ZEROS STORE9DWP # P,N,I=0
AXT,1 SSP DEC108# CLEAR W0 TO W54
S1 6
CLEARW54 STORE W +108D,1
TIX,1 # Page 612
CLEARW54 9DWI=JA LXA,1 SXA,1# I=J 9DWJ 9DWI CALL
ROWDOT
LXA,1 BDSU* 9DWP
EMATRIX +40D,1 INCR,1 SXA,1# -(P+1) 2 9DWP
LXC,1 XSU,1# -(I+N) 9DWI 9DWN
BPL DLOAD# TEST WSQ LTE 0 9DWAAA
HI6ZEROS # W=0
GOTO 9DWAAB 9DWAAA SQRT # W= SQRT(WSQ) 9DWAAB STORE W,1 STODL WORKW 9DWJ # TEST J=0
BHIZ 9DWEXITX # EXIT
TST2I=0SLOAD BHIZ # TEST I=0 9DWI 9DWN=N+3
DSU 9DWID STORE9DWI # I=I-1
DSU BHIZ # TEST I=26 9DW26D 9DWAAC
GOTO 9DWNEXEP 9DWAAC SSP # I=2 9DWI 4 9DWNEXEP CALL
ROWDOT
LXA,1 BDSU* # (EP-ROWI*ROWJ)/W 9DWP
EMATRIX +40D,1
DDV INCR,1# P=P+1
WORKW 2
SXA,1 LXC,1 9DWP # Page 613 9DWI
XSU,1 BOV # -(I+N) 9DWN
SETWIN=0
GOTO 9DWSETWX
SETWIN=0DLOAD# W(I+N)=0
HI6ZEROS 9DWSETWX STORE W,1
GOTO
TST2I=0 9DWN=N+3 LXA,1INCR,1# N=N+3 9DWN 6
SXA,1SLOAD# J=J-1 9DWN 9DWJ
DSU 9DWID STORE9DWJ
DSU BHIZ # TEST J=26 9DW26D
SETJ=2A
GOTO 9DWI=JA
SETJ=2A SSP GOTO # J=2 9DWJ 4 9DWI=JA 9DWEXITX CALL
GRP2PC
AXT,1 SSP # CLEAR W6,W7,W8 USED TEMP FOR EMATRIX DEC54
S1 6
VLOAD
HI6ZEROS 9DWEXXXA STORE W +162D,1
TIX,1 GOTO 9DWEXXXA 9DWXX
ROWDOT SSP BOV
XTMP1 OCT377
+1
LXC,1 LXC,2 9DWI 9DWJ DLOADPUSH
HI6ZEROS # Page 614
ROWDOT1 DLOAD* DMPR*
W,1
W,2
DAD PUSH
BOV INCR,1
ROWDOT3 DEC -6 INCR,2SLOAD DEC -6
XTMP1
BHIZ SR1
ROWDOT2 STORE XTMP1
GOTO
ROWDOT1
ROWDOT2 DLOAD
RVQ
ROWDOT3 CLRGO
ORBWFLAG
ROWDOT2
WORKW = 0D
XTMP1 = 6D 9DWP = 8D # P 9DWI = 10D # I 9DWN = 12D # N 9DWJ = 14D # J 9DWXX = S22UOFF
S22UMRL = BVECTOR # 18
S22UUT = DELTAX # 18
S223X1 = 18D # 6
S221X3 = 24D # 6
S22D = 30D # 2
S22RHO = 32D # 2
S22RL = W +156D # 6 9DW26D 2DEC52 B-14
9DWID 2DEC2 B-14
SCTVAR 2DEC1.0 E-6 B+18
IMUVARR 2DEC0.04 E-6 B+18
DEC1B2 2DEC1 B-2
V06N49EE VN00649
V06N89B VN00689
S22UOFF = LEMPOS # 6 U SUB OFF SETLOC P20S2 BANK # Page 615 # Nothing on this page. --- RSB 2009.
# Page 616 # SUBROUTINE NAME: V89CALL # MOD NO: 0 DATE: 8 FEB 1968 # MOD BY: DIGITAL DEVEL GROUP LOG SECTION: P20-P25 # # FUNCTIONAL DESCRIPTION: # # CALLED BY VERB 89 ENTER DURING P00. PRIO 10 USED. CALCULATES AND # DISPLAYS FINAL GIMBAL ANGLES TO POINT CSM +X AXIS OR PREFERRED AXIS # (UNIT(Z)COS55 DEG + UNIT(X)SIN55 DEG) AT LM. # # 1. KEY IN V89 E ONLY IF IN PROG 00. IF NOT IN P00, OPERATOR ERROR AND # EXIT R63, OTHERWISE CONTINUE. # # 2. IF IN P00, DO IMU STATUS CHECK (R02BOTH). IF IMU ON AND ITS # ORIENTATION KNOWN TO CGC, CONTINUE. # # 3. FLASH DISPLAY V 04 N 06. R2 INDICATES WHICH SPACECRAFT AXIS IS TO # BE POINTED AT LM. INITIAL CHOICE IS PREFERRED AXIS. (R2=1). # ASTRONAUT CAN CHANGE TO (+X) AXIS (R2 NOT= 1) BY V22 E 2 E. CONTINUE # AFTER KEYING IN PROCEED. # # 4. SET PREFERRED ATTITUDE FLAG ACCORDING TO OPTION DESIRED. SET FLAG # FOR PREFERRED AXIS. RESET FLAG FOR X AXIS. # # 5. CURRENT TIME IS STORED AND R63COMP IS CALLED # # R63COMP JOB: # # UPDATE CSM AND LM STATE VECTORS USING CONIC EQUATIONS # # CALCULATES BOTH PREFERRED AND X AXIS TRACKING ATT FROM CSM TO LM. # # DESIRED GIMBAL ANGLES AS INDICATED BY PREFERRED ATTITUDE FLAG # ARE STORED FOR LATER R60CSM CALL. # # 6. FLASH DISPLAY V 06 N18 AND AWAIT RESPONSE. # # 7. RECYCLE: RETURN TO STEP 5. # TERMINATE: EXIT R63 ROUTINE # PROCEED: RESET 3AXISFLG AND CALL R60CSM FOR ATTITUDE MANEUVER. # # CALLING SEQUENCE: V 89 E # # SUBROUTINES CALLED: CHKPOOH, R02BOTH, GOXDSPF, R63COMP, R60CSM # # ALARMS 1. OPERATOR ERROR IF NOT IN P00 # 2. PROGRAM ALARM IF IMU IS OFF # 3. PROGRAM ALARM IF IMU ORIENTATION IS UNKNOWN # Page 617 # # ERASABLE INITIALIZATION REQUIRED: NONE # # DEBRIS: OPTION1, OPTION1+1, PRFTEXAT(PREF ATT FLAG), P21TIME, 3AXISFLG
DP1MIN 2DEC6000
EBANK= P21TIME BANK34 SETLOC P20S4 BANK COUNT* $$/R63
V89CALL TC BANKCALL # IMU STATUS CHECK. RETURNS IF ORIENTATION CADR R02BOTH # KNOWN. ALARMS IF NOT. CAF THREE # ALLOW ASTRONAUT TO SELECT DESIRED TS OPTION1 # TRACKING ATTITUDE AXIS. CAF ONE TS OPTION1 +1 CAF VB04N06 # V 04 N 06 TC BANKCALL CADR GOFLASH TC ENDEXT # TERMINATE TC +2# PROCEED TC -5# DATA IN. OPTION1 +1 = 1 FOR PREF AXIS # = 2 FOR X AXIS CS OPTION1 +1# 1 FOR PREF AXIS. 2 FOR X AXIS. AD ONE EXTEND BZF SETPAF
RSTPAF TC DOWNFLAG # RESET PREF ATT FLAG FOR R63COMP ADRES RNGSCFLG # TO DO X AXIS. RESET BIT 10 FLAG 5
V89RECL TC INTPRET
RTB DAD
LOADTIME # READ PRESENT TIME
DP1MIN # INTEGRATE TO 1 MIN FROM NOW
STCALL P21TIME # STORE TIME FOR CALL TO R63COMP. R63COMP
R63COMP # LEAVES DESIRED GIM ANGS IN THETAD, LOS IN EXIT# POINTVSM, AND SELECTED AXIS IN SCAXIS. CAF VB06N18 # V 06 N 18 TC BANKCALL # NOUN 18 REFERS TO THE DESIRED GIMBAL CADR GOFLASH TC ENDEXT # TERMINATE TC +2# PROCEED TC V89RECL # RECYCLE TC DOWNFLAG # RESET 3 AXIS FLAG ADRES3AXISFLG # RESET BIT 6 FLAG 5 # Page 618 TC BANKCALL # PERFORMS CSM MANEUVER TO ALIGN SELECTED CADR R60CSM # SPACECRAFT AXIS TO LOS. TCF ENDEXT
SETPAF TC UPFLAG # SET PREFERRED ATT FLAG FOR R63COMP ADRES RNGSCFLG # TO DO PREF AXIS. SET BIT 10 FLAG 5. TC V89RECL
VB04N06 VN0406
VB06N18 VN0618
R63COMP EQUALS R63
# Page 619 # PROGRAM NAME: P23 CISLUNAR MIDCOURSE NAVIGATION # MOD NO: # MOD BY: TOM KNATT # # FUNCTIONAL DESCRIPTION: DO MIDCOURSE NAVIGATION BY INCORPORATION OF # STAR/EARTH AND STAR/MOON OPTICAL MEASUREMENTS. # # CALLING SEQUENCE: ASTRONAUT OPERATED # # SUBROUTINES CALLED: R52,R53,R57,R60,ORBITAL INTEGRATION (INTEGRV) # INCORP1,INCORP2,LALOTORV,LUNLMKLD, AND DISPLAY INTERFACE ROuTINES. # # N0RMAL EXIT MODES: VIA R00 # # ALARMS: NONE # # ABORT MODES: NONE # # ERASABLE INITIALIZATION REQUIRED: PAD-LOADED ERASABLES, ORBWFLAG RESET, # REFSMFLG=0 IF IMU OFF AND REFSMFLG=1 IF IMU ONE # # INPUTS BY USER REQUIRED: STAR NUMBER, LANDMARK LAT, LONG/2, ALT OR ID NUMB. # IF LANDMARK IS USED, NEAR OR FAR HORIzON IF HORIZON IS USED, AND # BODY TO BE MARKED ON (EARTH OR MOON). SEE GSOP CHAPT 4. # # OUTPUT: UPDATED CMC STATE VECTOR. VECTOR FROM S/C TO HORIZON OR LANDMARK # IN POINTAXS. POINTAXS CAN BE USED TO GENERATE THIS VECTOR APART FROM # P23 IF DESIRED. # # DEBRIS: NO USABLE DEBRIS IS GENERATED. RENDWFLG IS RESET FOR P20 UPON # COMPLETION OF P23. RUPTREGS AND ERASABLES USED BY DISPLAYS ARE DEBRIS.
BANK31 SETLOC RT23 BANK COUNT31/S23 EBANK= W
P23 TC DOWNFLAG ADRES RNDVZFLG
TC2PHSCHNG OCT00004# LEAVE GROUP 4 OCT00012# ENTER GROUP 2 CAF PRIO13 TS PHSPRDT2 TC INTPRET
SSP CLEAR
MARKINDX 1
TARG2FLG # TARGET FLAG USED R52 AND R53
CLEAR SSP
TARG1FLG
STARIND 0
SSP CLEAR
BESTI 0
R57FLAG # SET = DO NOT REPERFORM R57
CLEAR EXIT
V94FLAG # SET = ALLOW V94
P23.00TC INTPRET # Page 620
BON CALL
REFSMFLG # SET NOW AS INPUT, NORMALLY EXTERNAL CONT
P23.05# WHEN ALIGNED, PERFORM MEASUREMENT
R57 # DO OPTICS CALIBRATION IF IMU NOT ALIGNED. CALL
R53
GOTO
P23.60
P23.05 CLEAR EXIT
SAVECFLG # USED TO SAVE SPACE IN P23.65
P23.06CAF V05N70 TC BANKCALL # IDENTIFICATION: STAR, HOR IDENT. CADR GOFLASH TC GOTOPOOH # TERMINATE TC P23.15 TC -5# REDISPLAY
P23.15CA LANDMARK # IF C=2, LUNAFLAG=1. IF C=1, LUNAFLAG=0 EXTEND BZF P23.151 CA HORIZON EXTEND BZF +2 TC R23.10# OPERATOR DSKY ERROR CA LANDMARK TC P23.152
P23.151CA HORIZON EXTEND BZF R23.10
P23.152MASK BITS7-9# IS C EQUAL TO 1 OR 2 AD NEG100 EXTEND BZF P23.16 AD NEG100 EXTEND BZF +2 TC R23.10 TC UPFLAG ADRES LUNAFLAG TCF +3
P23.16TC DOWNFLAG ADRES LUNAFLAG CA STARCODE # IS STARCODE GREATER THAN OR EXTEND# EQUAL TO 0 AND LESS THAN 37 BZF P23.176 EXTEND BZMF R23.10 AD NEG37 EXTEND BZMF +2 TC R23.10 # Page 621
TC INTPRET
P23.17SLOAD BZE
STARCODE
P23.175 PUSH SLOAD DMP
SPSIX
LXA,1 SXA,1
MPAC +1
BESTI # BESTI = 6 X STAR NUMBER CALL
LOWMEMRY # NEEDED TO RETRIEVE STAR VECTOR FROM LOW STORE STARSAV2 # STORE FOR R53,P23. US(IN P23)=STARSAV2
P23.175EXIT
P23.176CA HORIZON EXTEND BZF P23.20 MASK BITS4-6 AD -OCT10 EXTEND BZF P23.18 AD -OCT10 EXTEND BZF +2 TC R23.10 TC UPFLAG ADRES NORFHOR TC P23.30
P23.18TC DOWNFLAG ADRES NORFHOR TC P23.30
P23.20TC INTPRET CALL
P22SUBRB EXIT
P23.30TC INTPRET SLOAD BZE
STARCODE
LDPLANET
P23.31 BON EXIT
SAVECFLG
P23.85 CAF V50N25P TC BANKCALL CADR GOPERF1 # GOPERF1 BLANKS OUT R2 AND R3 TC GOTOPOOH TC V94ENTER # PROCEED. AUTOCONTROL CMC
P23.55TC INTPRET
GOTO
P23.56 # Page 622
# VERB 94 BEGINS HERE
V94ENTER TC INTPRET
RTB
LOADTIME # READ CLOCK
STCALL MARKTIME
POINTAXS # RETURN LOS IN RCLL AND MPAC
MXV UNIT
REFSMMAT STOVL POINTVSM
JCAXIS STORE SCAXIS EXIT TC DOWNFLAG # CLEAR AND GO TO VECPOINT IN R60 ADRES3AXISFLG # BIT 6 FLAG 5 CAF R60ADRS TS TEMPFLSH TC PHASCHNG OCT00012
R60CALL TC BANKCALL CADR R60CSM TC PHASCHNG OCT04022 TC INTPRET
BON
R57FLAG
P23.57# DO NOT REPERFORM R57
P23.56CALL
R57
P23.57 SET SET
V94FLAG
R57FLAG CALL
R52
CLEAR CLEAR
V94FLAG
R57FLAG
P23.60EXIT INHINT CA MARKSTAT MASK LOW10 TS MARKDATA EXTEND INDEX MARKDATA DCA0 DXCH MARKTIME INDEX MARKDATA CA5 XCH TRUNION RELINT TC INTPRET # Page 623
LXC,1 VLOAD*
MARKDATA 1,1 STODL* MARKDOWN +1 0,1 STORE MARKDOWN EXIT CAF V05N71 TC BANKCALL CADR GOFLASH TC GOTOPOOH # TERMINATE TC P23.65# STORE DATA TC -5# REDISPLAY
P23.65TC INTPRET
SET EXIT
SAVECFLG TC P23.15
P23.85 CLEAR CALL
RENDWFLG
POINTAXS
GOTO
R23.55
# WE BEGIN CALCULATIONS HERE # POINTAXIS SUBROUTINE
POINTAXS STQ
POINTEX
R23.05 BON DLOAD
ORBWFLAG
R23.1
WMIDPOS
STCALL 0
INITIALW # INITIALIZE W-MATRIX FIRST PASS IN P23
R23.1CALL
SETINTG # SETUP FOR CSM INTEGRATION
BOF SET
ORBWFLAG
R23.2
DIM0FLAG
R23.2 SET CALL
ORBWFLAG
INTEGRV # INTEGRATE CSM STATE VEC. TO MARKTIME EXIT TC PHASCHNG OCT04022 TC INTPRET CALL
RECT.1# PICKUP CSM STATE VECTOR FROM PERM
BOFF
ZMEASURE # IN SPHERE OF INFLUENCE OF PRIMARY BODY
R23.3 # Page 624 DLOADCALL
MARKTIME
LUNPOS
BON VCOMP
CMOONFLG
+1
VAD
RZC STORE RZC
R23.3SLOAD BHIZ
LANDMARK # IF LANDMARK = 0, USE HORIZ SUBR
R23.4
SET
ERADFLAG DLOADCALL
MARKTIME
LALOTORV
GOTO
R23.5
R23.4CALL
HORIZ
R23.5 VSU SETPD
RZC 0
GOTO
POINTEX # Page 625
R23.55 UNIT PUSH# RCLL IS IN MPAC
VLOAD 34D # RCLL * RCLL STOVL30D # PUSH 30-31 =RCLL*RCLL 32-33=ABVAL RCLL
VZC VXSC VSR
ONE/C 15D
VAD # PUSH UP RCLL(UNIT)
UNIT STOVL UCLSTAR
VZC
VSR2 VSU
VESO VXSC VSR
ONE/C 13D
VAD UNIT
US STORE USSTAR
DOT SL1
UCLSTAR PUSH VLOAD # PD 0,1 = USSTAR(DOT)UCLSTAR
UCLSTAR VXSC VCOMP
VSL1 VAD
USSTAR
UNIT STOVL BVECTOR # USSTAR - COSQ(UCLSTAR)
ZEROVECS STORE BVECTOR +6 STODL BVECTOR +12D 0
ACOS DCOMP PUSHDLOAD
ZEROVECS EXIT CA VARSUBL # PUT FIXED INTO ERASABLE FOR MSU TS L # INSTRUCTION COMING UP CA TRUNION # REQUIRED TO CHANGE 2'S COMPLEMENT EXTEND# TRUNION TO 1'S COMPLEMENT MSU L # TRUNION (2'S)-00000 CONVERTS TRUNION TO TS MPAC # 1'S. VARSUBL=00000. TC INTPRET PUSHSLOAD# PUSH IS DP. WHEN BDSU IS EXECUTED, 2ND
TRUNBIAS # HALF OF PUSHLIST IS GUARANTEED ZERO FROM
BDSU # DLOAD ZEROVECS ABOVE
SR3 DAD
DAD DMP # Page 626
TRUN19 32D
DMP SL3
PI/4.0
BOFF SL2
CMOONFLG
R23.51
R23.51STODL DELTAQ 30D # RCLL * RCLL
DMP RTB
TRUNVAR
TPMODE
TAD
VARSUBL STORE VARIANCE
CLEAR CALL
DMENFLG
INCORP1 CALL
GRP2PC
VLOAD ABVAL
DELTAX +6
BOF SR2 # DISPLAY IS 2-27 IF IN LUNAR SPHERE.
CMOONFLG
R23.52
R23.52STOVL N49DISP +2
DELTAX
ABVAL
BOF SR2
CMOONFLG
R23.53
R23.53STORE N49DISP EXIT
R23.6CAF V6N49 TC BANKCALL CADR GOFLASHR TC GOTOPOOH TC R23.7# INCORPORATE DATA TC GOTOPOOH CAF BIT3 # BLAN OUT R3 TC BLANKET TC PHASCHNG OCT00012 TC ENDOFJOB
R23.7TC INTPRET
R23.8 SET CALL
VEHUPFLG
INCORP2 EXIT
R23.END TC GOTOPOOH
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.