|SETLOC SERV1| BANK|| EBANK= DVCNTR||# ************* PREREAD *******************|| COUNT* $$/SERV||PREREAD CAF SEVEN # 5.7 SPOT TO SKIP LASTBIAS AFTER| TC GNUFAZE5 # RESTART.| CAF PRIO21| TC NOVAC| EBANK= NBDX| 2CADR LASTBIAS # DO LAST GYRO COMPENSATION IN FREE FALL||BIBIBIAS TC PIPASR +3 # CLEAR + READ PIPS LAST TIME IN FRE5+F133| # DO NOT DESTROY VALUE OF PIPTIME1|| CS FLAGWRD7| MASK SUPER011 # SET V37FLAG AND AVEGFLAG (BITS 5 AND 6| ADS FLAGWRD7 # OF FLAGWRD7)|| CS DRFTBIT| MASK FLAGWRD2 # RESET DRIFTFLAG| TS FLAGWRD2|| CAF FOUR # INITIALIZE DV MONITOR| TS PIPAGE|| CAF ENDJBCAD # POINT OUTROUTE TO END-OF-JOB.| TS OUTROUTE|| CAF PRIO22| TC FINDVAC # TO FIRST ENTRY TO AVERAGE G| EBANK= DVCNTR| 2CADR NORMLIZE|| CA TWO # 5.2SPOT FOR REREADAC AND NORMLIZE|GOREADAX TC GNUTFAZ5| CA 2SECS # WAIT TWO SECONDS FOR READACCS| TC VARDELAY||# Page 858|# ************* READACCS ****************||READACCS CS OCT37771 # THIS PIECE OF CODING ATTEMPTS TO| AD TIME5 # SYNCHRONIZE READACCS WITH THE DIGITAL| CCS A # AUTOPILOT SO THAT A PAXIS RUPT WILL| CS ONE # OCCUR APPROXIMATELY 70 MILLISECONDS| TCF +2 # FOLLOWING THE READACCS RUPT. THE 70 MS| CA ONE # OFFSET WAS CHOSEN SO THAT THE PAXIS| +2 ADS TIME5 # RUPT WOULD NOT OCCUR SIMULTANEOUSLY| # WITH ANY OF THE 8 SUBSEQUENT R10,R11| # INTERRUPTS -- THUS MINIMIZING THE POSS-| # IBILITY OF LOSING DOWNRUPTS.|| TC PIPASR # READ THE PIPAS.||PIPSDONE CA FIVE| TC GNUFAZE5|REDO5.5 CAF ONE| TS PIPAGE|| CA PRIO20| TC FINDVAC| EBANK= DVCNTR| 2CADR SERVICER # SET UP SERVICER JOB|| CA BIT9| EXTEND| WOR DSALMOUT # TURN ON TEST CONNECTOR OUTBIT|| CA FLAGWRD7| MASK AVEGFBIT| EXTEND| BZF AVEGOUT # AVEGFLAG DOWN -- SET UP FINAL EXIT|| CA FLAGWRD6| MASK MUNFLBIT| EXTEND| BZF MAKEACCS # MUNFLAG CLEAR -- BYPASS LR AND DISP.|| CCS PHASE2| TCF MAKEACCS # PHASE 2 ACTIVATED -- AVOID MULTIPLE R10.|| CAF SEVEN # SET PIPCTR FOR 4X/SEC RATE.| TS PIPCTR|| CS TIME1 # SET TBASE2 .05 SECONDS IN THE PAST.| AD FIVE| AD NEG1/2| AD NEG1/2| XCH TBASE2|# Page 859| CAF DEC17 # 2.21SPOT FOR R10,R11| TS L| COM| DXCH -PHASE2|| CAF OCT24 # FIRST R10,R11 IN .200 SECONDS| TC WAITLIST| EBANK= UNIT/R/| 2CADR R10,R11||MAKEACCS CA FOUR| TCF GOREADAX # DO PHASE CHANGE AND RECALL READACCS||AVEGOUT EXTEND| DCA AVOUTCAD # SET UP FINAL SERVICER EXIT| DXCH AVGEXIT|| CA FOUR # SET 5.4 SPOT FOR REREADAC AND SERVICER| TC GNUTFAZ5 # IF REREADAC IS CALLED, IT WILL EXIT| TC TASKOVER # END TASK WITHOUT CALLING READACCS||GNUTFAZ5 TS L # SAVE INPUT IN L| CS TIME1| TS TBASE5 # SET TBASE5| TCF +2||GNUFAZE5 TS L # SAVE INPUT IN L| CS L # -PHASE IN A, PHASE IN L.| DXCH -PHASE5 # SET -PHASE5,PHASE5| TC Q|| EBANK= DVCNTR|AVOUTCAD 2CADR AVGEND||ENDJBCAD CADR SERVEXIT +2||OCT37771 OCT 37771|| BANK 33| SETLOC SERVICES| BANK|| COUNT* $$/SERV||# Page 860|# ************* SERVICER ****************||SERVICER TC PHASCHNG # RESTART REREADAC + SERVICER| OCT 16035| OCT 20000| EBANK= DVCNTR| 2CADR GETABVAL|| CAF PRIO31 # INITIALIZE 1/PIPADT IN CASE RESTART HAS| TS 1/PIPADT # CAUSED LASTBIAS TO BE SKIPPED.|| TC BANKCALL # PIPA COMPENSATION CALL| CADR 1/PIPA||GETABVAL TC INTPRET| VLOAD ABVAL| DELV| EXIT| CA MPAC| TS ABDELV # ABDELV = CM/SEC*2(-14).| EXTEND| MP KPIP| DXCH ABDVCONV # ABDVCONV = M/CS * 2(-5).| EXTEND| DCA MASS| DXCH MASS1 # INITIALIZE MASS1 IN CASE WE SKIP MASSMON|MASSMON CS FLAGWRD8 # ARE WE ON THE SURFACE?| MASK SURFFBIT| EXTEND| BZF MOONSPOT # YES: BYPASS MASS MESS|| CA FLGWRD10 # NO: WHICH VEX SHOULD BE USED?| MASK APSFLBIT| CCS A| EXTEND # IF EXTEND IS EXECUTED, APSVEX --> A,| DCA APSVEX # OTHERWISE DPSVEX --> A| TS Q|| EXTEND| DCA ABDVCONV| EXTEND|OCT10002 DV Q # WHERE APPROPRIATE VEX RESIDES| EXTEND| MP MASS| DAS MASS1||MOONSPOT CA KPIP1 # TP MPAC = ABDELV AT 2(14) CM/SEC| TC SHORTMP # MULTIPLY BY KPIP1 TO GET|# Page 861| DXCH MPAC # ABDELV AT 2(7) M/CS| DAS DVTOTAL # UPDATE DVTOTAL FOR DISPLAY|| TC TMPTOSPT|| TC BANKCALL| CADR QUICTRIG|| CAF XNBPIPAD| TC BANKCALL| CADR FLESHPOT| TC INTPRET|AVERAGEG BON CALL| MUNFLAG| RVBOTH| CALCRVG| EXIT|GOSERV TC QUIKFAZ5||COPYCYCL TC COPYCYC||# CA ZERO # A IS ZERO ON RETURN FROM COPYCYC| TS PIPATMPX| TS PIPATMPY| TS PIPATMPZ|| CS STEERBIT # CLEAR STEERSW PRIOR TO DVMON.| MASK FLAGWRD2| TS FLAGWRD2|| CAF IDLEFBIT # IS THE IDLE FLAG SET?| MASK FLAGWRD7| CCS A| TCF NODVMON1 # IDLEFLAG = 1, HENCE SET AUXFLAG TO 0.|| CS FLAGWRD6| MASK AUXFLBIT| CCS A| TCF NODVMON2 # AUXFLAG = 0, HENCE SET AUXFLAG TO 1.||DVMON CS DVTHRUSH| AD ABDELV| EXTEND| BZMF LOTHRUST|| CS FLAGWRD2 # SET STEERSW.| MASK STEERBIT| ADS FLAGWRD2||DVCNTSET CAF ONE # ALLOW TWO PASSES MAXIMUM NOW THAT|# Page 862| TS DVCNTR # THRUST HAS BEEN DETECTED.|| CA FLGWRD10 # BRANCH IF APSFLAG IS SET.| MASK APSFLBIT| CCS A| TCF USEJETS|| CA BIT9 # CHECK GIMBAL FAIL BIT| EXTEND| RAND CHAN32| EXTEND| BZF USEJETS||USEGTS CS USEQRJTS| MASK DAPBOOLS| TS DAPBOOLS| TCF SERVOUT||NODVMON1 CS AUXFLBIT # SET AUXFLAG TO 0.| MASK FLAGWRD6| TS FLAGWRD6| TCF USEJETS|NODVMON2 CS FLAGWRD6 # SET AUXFLAG TO 1.| MASK AUXFLBIT| ADS FLAGWRD6| TCF USEJETS||LOTHRUST TC QUIKFAZ5| CCS DVCNTR| TCF DECCNTR|| CCS PHASE4 # COMFAIL JOB ACTIVE?| TCF SERVOUT # YES: WON'T NEED ANOTHER.|| TC PHASCHNG # 4.37SPOT FOR COMFAIL.| OCT 00374|| CAF PRIO25| TC NOVAC| EBANK= WHICH| 2CADR COMFAIL|| TCF SERVOUT||DECCNTR TS DVCNTR1| TC QUIKFAZ5| CA DVCNTR1| TS DVCNTR| INHINT| TC IBNKCALL # IF THRUST IS LOW, NO STEERING IS DONE|# Page 863| CADR STOPRATE # AND THE DESIRED RATES ARE SET TO ZERO.|USEJETS CS DAPBOOLS| MASK USEQRJTS| ADS DAPBOOLS|SERVOUT RELINT| TC BANKCALL| CADR 1/ACCS|| CA PRIORITY| MASK LOW9| TS PUSHLOC| ZL| DXCH FIXLOC # FIXLOC AND DVFIND|| TC QUIKFAZ5| EXTEND # EXIT TO SELECTED ROUTINE WHETHER THERE| DCA AVGEXIT # IS THRUST OR NOT. THE STATE OF STEERSW| DXCH Z # WILL CONVEY THIS INFORMATION.||XNBPIPAD ECADR XNBPIP|| BANK 32| SETLOC SERV2| BANK| COUNT* $$/SERV||AVGEND CA PIPTIME +1 # FINAL AVERAGE G EXIT| TS 1/PIPADT # SET UP FREE FALL GYRO COMPENSATION.|| TC UPFLAG # SET DRIFT FLAG.| ADRES DRIFTFLG|| TC BANKCALL| CADR PIPFREE|| CS BIT9| EXTEND| WAND DSALMOUT|| TC 2PHSCHNG| OCT 5 # GROUP 5 OFF| OCT 05022 # GROUP 2 ON| OCT 20000|| TC INTPRET| SET CLEAR| NOR29FLG # SHUT OFF R29 WHEN SERVICER ENDS.| SWANDISP # SHUT OFF R10 WHEN SERVICER ENDS.| CLEAR CALL # RESET MUNFLAG.| MUNFLAG|# Page 864| AVETOMID| CLEAR EXIT| V37FLAG|AVERTRN CA OUTROUTE # RETURN TO DESIRED POINT.| TC BANKJUMP||OUTGOAVE = AVERTRN|DVCNTR1 = MASS1||# Page 865| SETLOC SERV3| BANK| COUNT* $$/SERV||SERVIDLE EXTEND # DISCONNECT SERVICER FROM ALL GUIDANCE| DCA SVEXTADR| DXCH AVGEXIT|| CS FLAGWRD7 # DISCONNECT THE DELTA-V MONITOR| MASK IDLEFBIT| ADS FLAGWRD7|| CAF LRBYBIT # TERMINATE R12 IS RUNNING.| TS FLGWRD11|| EXTEND| DCA NEG0| DXCH -PHASE1|| CA FLAGWRD6 # DO NOT TURN OFF PHASE 2 IF MUNFLAG SET.| MASK MUNFLBIT| CCS A| TCF +4|| EXTEND| DCA NEG0| DXCH -PHASE2|| +4 EXTEND| DCA NEG0| DXCH -PHASE3|| EXTEND| DCA NEG0| DXCH -PHASE6|| CAF OCT33 # 4.33SPOT FOR GOP00FIX| TS L| COM| DXCH -PHASE4|| TCF WHIMPER # PERFORM A SOFTWARE RESTART AND PROCEED| # TO GOTOPOOH WHILE SERVICER CONTINUES TO| # RUN, ALBEIT IN A GROUND STATE WHERE| # ONLY STATE-VECTOR DEPENDENT FUNCTIONS| # ARE MAINTAINED.|| EBANK= DVCNTR|# Page 866|SVEXTADR 2CADR SERVEXIT|| BANK 32| SETLOC SERV| BANK| COUNT* $$/SERV||SERVEXIT TC PHASCHNG| OCT 00035||+2 TCF ENDOFJOB|| BANK 23| SETLOC NORMLIZ| BANK|| COUNT* $$/SERV||# Page 867|NORMLIZE TC INTPRET| VLOAD BOFF| RN1| MUNFLAG| NORMLIZ1| VSL6 MXV| REFSMMAT| STCALL R| MUNGRAV| VLOAD VSL1| VN1| MXV| REFSMMAT| STOVL V| V(CSM)| VXV UNIT| R(CSM)| STORE UHYP|ASCSPOT EXIT| EXTEND # MAKE SURE GROUP 2 IS OFF| DCA NEG0| DXCH -PHASE2|| TC POSTJUMP| CADR NORMLIZ2|| BANK 33| SETLOC SERVICES| BANK| COUNT* $$/SERV||NORMLIZ1 CALL| CALCGRAV| EXIT||NORMLIZ2 CA EIGHTEEN| TC COPYCYC +1 # DO NOT COPY MASS IN NORMLIZE| TC ENDOFJOB||COPYCYC CA OCT24 # DEC 20| +1 INHINT| +2 MASK NEG1 # REDUCE BY 1 IF ODD| TS ITEMP1| EXTEND| INDEX ITEMP1| DCA RN1| INDEX ITEMP1|# Page 868| DXCH RN| CCS ITEMP1| TCF COPYCYC +2| TC Q # RETURN UNDER INHINT||EIGHTEEN DEC 18||# Page 869|# ************* PIPA READER *****************|# MOD NO. 00 BY D. LICKLY, DEC. 9 1966|#|# FUNCTIONAL DESCRIPTION|# SUBROUTINE TO READ PIPA COUNTERS, TRYING TO BE VERY CAREFUL SO THAT WILL BE RESTARTABLE.|# PIPA READINGS ARE STORED IN THE VECTOR DELV. THE HIGH ORDER PART OF EACH COMPONENT CONTAINS THE PIPA READING,|# RESTARTS BEGIN AT REREADAC.|#|# AT THE END OF THE PIPA READER THE CDUS ARE READ AND STORED AS A|# VECTOR IN CDUTEMP. THE HIGH ORDER PART OF EACH COMPONENT CONTAINS|# THE CDU READING IN 25 COMP IN THE ORDER CDUX,Y,Z. THE THRUST|# VECTOR ESTIMATOR IN FINDCDUD REQUIRES THE CDUS BE READ AT PIPTIME.|#|# CALLING SEQUENCE AND EXIT|# CALL VIA TC, ISWCALL, ETC.|# EXIT IS VIA Q.|#|# INPUT|# INPUT IS THROUGH THE COUNTERS PIPAX, PIPAY, PIPAZ, AND TIME2.|#|# OUTPUT|# HIGH ORDER COMPONENTS OF THE VECTOR DELV CONTAIN THE PIPA READINGS.|# PIPTIME CONTAINS TIME OF PIPA READING.|#|# DEBRIS (ERASABLE LOCATIONS DESTROYED BY PROGRAM)|# TEMX, TEMY, TEMZ, PIPAGE|| BANK 37| SETLOC SERV1| BANK|| COUNT* $$/SERV||PIPASR EXTEND|# Page 870| DCA TIME2| DXCH PIPTIME1 # CURRENT TIME POSITIVE VALUE| +3 CS ZERO # INITIALIZE THESE AT NEG. ZERO.| TS TEMX| TS TEMY| TS TEMZ|| CA ZERO| TS DELVZ| TS DELVZ +1| TS DELVY| TS DELVY +1| TS DELVX +1| TS PIPAGE # SHOW PIPA READING IN PROGRESS||REPIP1 EXTEND| DCS PIPAX # X AND Y PIPS READ| DXCH TEMX| DXCH PIPAX # PIPAS SET TO NEG ZERO AS READ.| TS DELVX| LXCH DELVY||REPIP3 CS PIPAZ # REPEAT PROCESS FOR Z PIP| XCH TEMZ| XCH PIPAZ|DODELVZ TS DELVZ||REPIP4 EXTEND # COMPUTE GUIDANCE PERIOD| DCA PIPTIME1| DXCH PGUIDE| EXTEND| DCS PIPTIME| DAS PGUIDE|| CA CDUX # READ CDUS INTO HIGH ORDER CDUTEMPS| TS CDUTEMPX| CA CDUY| TS CDUTEMPY| CA CDUZ| TS CDUTEMPZ| CA DELVX| TS PIPATMPX| CA DELVY| TS PIPATMPY| CA DELVZ| TS PIPATMPZ|| TC Q||# Page 871|REREADAC CCS PIPAGE| TCF READACCS # PIP READING NOT STARTED. GO TO BEGINNING|| CAF DONEADR # SET UP RETURN FROM PIPASR| TS Q|| CCS DELVZ| TCF REPIP4 # Z DONE, GO DO CDUS| TCF +3 # Z NOT DONE, CHECK Y.| TCF REPIP4| TCF REPIP4|| ZL| CCS DELVY| TCF +3| TCF CHKTEMX # Y NOT DONE, CHECK X.| TCF +1| LXCH PIPAZ # Y DONE, ZERO Z PIP.|| CCS TEMZ| CS TEMZ # TEMZ NOT = -0, CONTAINS -PIPAZ VALUE.| TCF DODELVZ| TCF -2| LXCH DELVZ # TEMZ = -0, L HAS ZPIP VALUE.| TCF REPIP4||CHKTEMX CCS TEMX # HAS THIS CHANGED| CS TEMX # YES| TCF +3 # YES| TCF -2 # YES| TCF REPIP1 # NO| TS DELVX|| CS TEMY| TS DELVY|| CS ZERO # ZERO X AND Y PIPS| DXCH PIPAX # L STILL ZERO FROM ABOVE|| TCF REPIP3||DONEADR GENADR PIPSDONE||# Page 872| BANK 33| SETLOC SERVICES| BANK|| COUNT* $$/SERV||TMPTOSPT CA CDUTEMPY # THIS SUBROUTINE, CALLED BY AN RTB FROM| TS CDUSPOTY # INTERPRETIVE, LOADS THE CDUS CORRESPON-| CA CDUTEMPZ # DING TO PIPTIME INTO THE CDUSPOT VECTOR.| TS CDUSPOTZ| CA CDUTEMPX| TS CDUSPOTX| TC Q||# LRHTASK IS A WAITLIST TASK SET BY READACCS DURING THE DESCENT BRAKING|# PHASE WHEN THE ALT TO THE LUNAR SURFACE IS LESS THAN 25,000 FT. THIS|# TASK CLEARS THE ALTITUDE MEASUREMENT MADE DISCRETE AND INITIATES THE|# LANDING RADAR MEASUREMENT JOB (LRHJOB) TO TAKE A ALTITUDE MEASUREMENT|# 50 MS PRIOR TO THE NEXT READACCS TASK.|| BANK 21| SETLOC R10| BANK|| COUNT* $$/SERV||LRHTASK CS FLGWRD11| MASK LRBYBIT| EXTEND| BZF GRP2OFF # LR BYPASS SET -- BYPASS ALL LR READING.|| CA READLBIT| MASK FLGWRD11 # IS READLR FLAG SET?| EXTEND| BZF GRP2OFF # NO. BYPASS LR READ.|| CS FLGWRD11| MASK NOLRRBIT # IS LR READ INHIBITED?| EXTEND| BZF GRP2OFF # YES. BYPASS LR READ.|| CA PRIO32 # LR READ OK. SET JOB TO DO IT| TC NOVAC # ABOUT 50 MS. PRIOR TO PIPA READ.| EBANK= HMEAS| 2CADR LRHJOB||GRP2OFF EXTEND| DCA NEG0| DXCH -PHASE2| TCF R10,R11A|| BANK 33| SETLOC SERVICES| BANK|# Page 873| COUNT* $$/SERV||# HIGATASK IS ENTERED APPROXIMATELY 6 SECS PRIOR TO HIGATE DURING THE|# DESCENT PHASE. HIGATASK SETS THE HIGATE FLAG (BIT11) AND THE LR INHIBIT|# FLAG (BIT10) IN LRSTAT. THE HIGATJOB IS SET UP TO REPOSITION THE LR|# ANTENNA FROM POSITION 1 TO POSITION 2. IF THE REPOSITIONING IS|# SUCCESSFUL THE ALT BEAM AND VELOCITY BEAMS ARE TRANSFORMED TO THE NEW|# ORIENTATION IN NB COORDINATES AND STORED IN ERASABLE.||HIGATASK INHINT| CS PRIO3 # SET HIGATE AND LR INHIBIT FLAGS| MASK FLGWRD11| AD PRIO3| TS FLGWRD11| CAF PRIO32| TC FINDVAC # SET LR POSITIONING JOB (POS2)| EBANK= HMEAS| 2CADR HIGATJOB|| TCF CONTSERV # CONTINUE SERVICER||# Page 874|# MUNRETRN IS THE RETURN LOC FROM SPECIAL AVE G ROUTINE (MUNRVG)||MUNRETRN EXIT|| CS FLGWRD11| MASK LRBYBIT| EXTEND| BZF COPYCYC1 # BYPASS LR LOGIC IF BIT15 IS SET.|| CA READLBIT # SEE IF ALT < 35000 FT LAST CYCLE| MASK FLGWRD11| EXTEND| BZF 35KCHK # ALT WAS> 35000 FT LAST CYCLE CHK NOW|| CAF XORFLBIT # WERE WE BELOW 30000 FT LAST PASS?| MASK FLGWRD11| EXTEND| BZF XORCHK # NO -- TEST THIS PASS|HITEST CAF PSTHIBIT # CHECK FOR HIGATE| MASK FLGWRD11| EXTEND| BZF HIGATCHK # NOT AT HIGATE LAST CYCLE -- CHK THIS CYCLE||POS2CHK CAF BIT7 # VERIFY LR IN POS2| EXTEND| RAND CHAN33| EXTEND| BZF UPDATCHK # IT IS -- CHECK FOR LR UPDATE| CAF BIT13| EXTEND| RAND CHAN12| EXTEND| BZF LRPOSALM # LR NOT IN POS2 OR REPOSITIONING -- BAD| TCF CONTSERV # LR BEING REPOSITIONED -- CONTINUE SERV||HIGATCHK CA TTF/8 # IS TTF > CRITERION? (TTF IS NEGATIVE)| AD RPCRTIME| EXTEND| BZMF POS1CHK # NO|| CA EBANK4 # MUST SWITCH EBANKS| XCH EBANK| TS L # SAVE IN L|| EBANK= XNBPIP| CS XNBPIP # UXBXP IN GSOP CH5| EBANK= DVCNTR| LXCH EBANK # RESTORE EBANK| AD RPCRTQSW # QSW - UXBXP|# Page 875|| EXTEND| BZMF HIGATASK # IF UXBXP > QSW, THEN REPOSITION||POS1CHK CAF BIT6 # HIGATE NOT IN SIGHT -- DO POS1 CHK| EXTEND| RAND 33| EXTEND| BZF UPDATCHK # LR IN POS1 -- CHECK FOR LR UPDATE||LRPOSALM TC ALARM # LR NOT IN PROPER POS-ALARM-BYPASS UPDATE| OCT 511 # AND CONTINUE SERVICER|CONTSERV INHINT| CS BITS4-7| MASK FLGWRD11 # CLEAR LR MEASUREMENT MADE DISCRETES.| TS FLGWRD11|| TC IBNKCALL # SET LR LITES PROPERLY| CADR R12LITES||# Page 876|COPYCYC1 TC QUIKFAZ5||R29? CA FLAGWRD3| MASK NR29&RDR| CCS A # IS NOR29FLG OR READRFLG SET?| TCF R29NODES # YES, SO DON'T DESIGNATE.|| CA RADMODES # NO, SO R29 IS CALLED FOR.| MASK OCT10002 # IS THE RR NOT ZEROING ITS CDUS, AND| CCS A # IS THE RENDEZVOUS RADAR IN AUTO MODE?| TCF R29NODES # NO, SO DON'T DESIGNATE.|| CA RADMODES| MASK PRIO22| CCS A # IS RR REPOSITIONING OR REMODING?| TCF NOR29NOW # YES: COME BACK IN 2 SECONDS & TRY AGAIN.|| TCF R29||R29NODES INHINT # R29 NOT ALLOWED THIS CYCLE.| CS DESIGBIT # SHOW THAT DESIGNATION IS OFF.| MASK RADMODES| TS RADMODES||NOR29NOW TC INTPRET # INTPRET DOES A RELINT.| VLOAD ABVAL # MPAC = ABVAL( NEW SM. POSITION VECTOR )| R1S| PUSH DSU # (2)| /LAND/| STORE HCALC # NEW HCALC*2(24)M.| STORE HCALC1| DMPR RTB| ALTCONV| SGNAGREE| STOVL ALTBITS # ALTITUDE FOR R10 IN BIT UNITS.| UNIT/R/| VXV UNIT| UHYP| STOVL UHZP # DOWNRANGE HALF-UNIT VECTOR FOR R10.| R1S| VXM VSR4| REFSMMAT| STOVL RN1 # TEMP. REF. POSITION VECTOR*2(29)M.| V1S| VXM VSL1| REFSMMAT| STOVL VN1 # TEMP. REF. VELOCITY VECTOR 2(7) M/CS.| UNIT/R/| VXV ABVAL|# Page 877| V1S| SL1 DSQ| DDV| DMPR RTB| ARCONV1| SGNAGREE|COPYCYC2 EXIT # LEAVE ALTITUDE RATE COMPENSATION IN MPAC| INHINT| CA UNIT/R/ # UPDATE RUNIT FOR R10.| TS RUNIT| CA UNIT/R/ +2| TS RUNIT +1| CA UNIT/R/ +4| TS RUNIT +2| CA MPAC # LOAD NEW DALTRATE FOR R10.| TS DALTRATE|| EXTEND| DCA R1S| DXCH R| EXTEND| DCA R1S +2| DXCH R +2| EXTEND| DCA R1S +4| DXCH R +4| EXTEND| DCA V1S| DXCH V| EXTEND| DCA V1S +2| DXCH V +2| EXTEND| DCA V1S +4| DXCH V +4|| TCF COPYCYCL # COMPLETE THE COPYCYCL.||# Page 878|# ALTCHK COMPARES CURRENT ALTITUDE (IN HCALC) WITH A SPECIFIED ALTITUDE FROM A TABLE BEGINNING AT ALTCRIT.|# ITS CALLING SEQUENCE IS AS FOLLOWS:-|#|# L CAF N|# L+1 TC BANKCALL|# L+2 CADR ALTCHK|# L+3 RETURN HERE IF HCALC STILL > SPECIFIED CRITERION. C(L) = +0.|# L+4 RETURN HERE IF HCALC < OR=SPECIFIED CRITERION. C(A)=C(L)=+0|#|# ALTCHK MUST BE BANKCALLED EVEN FROM ITS OWN BANK. N IS THE LOCATION, RELATIVE TO THE TAG ALTCRIT,|# OF THE BEGINNING OF THE DP CONSTANT TO BE USED AS A CRITERION.||ALTCHK EXTEND| INDEX A| DCA ALTCRIT| DXCH MPAC +1| EXTEND| DCS HCALC| DAS MPAC +1| TC BRANCH +4| CAF ZERO # BETTER THAN A NOOP, PERHAPS| INCR BUF2| TCF SWRETURN||ALTCRIT=25KFT||25KFT 2DEC 7620 B-24 # (0)||50KFT 2DEC 15240 B-24 # (2)||50FT 2DEC 15.24 B-24 # (4)||30KFT 2DEC 9144 B-24 # (6)||2KFT/SEC DEC 6.096 B-7 # 2000 FT/SEC AT 2(7) M/CS|||# (A remark was likely to be needed here to explain XORCHK) 4/Jun/09,FB||XORCHK CAF SIX # ARE WE BELOW 30000 FT?| TC BANKCALL| CADR ALTCHK| TCF HITEST # CONTINUE LR UPDATE| TC UPFLAG # YES: INHIBIT X-AXIS OVERRIDE| ADRES XOVINFLG| TC UPFLAG| ADRES XORFLG| TCF HITEST # CONTINUE LR UPDATE||35KCHK CAF TWO # ARE WE BELOW 35000 FT?||# Page 879| TC BANKCALL| CADR ALTCHK| TCF CONTSERV| TC UPFLAG| ADRES READLR # SET READLR FLAG TO ENABLE LR READING.| TCF CONTSERV||# Page 880|# ***************************************************************||CALCGRAV UNIT PUSH # SAVE UNIT/R/ IN PUSHLIST (18)| STORE UNIT/R/| LXC,1 SLOAD # RTX2=0 IF EARTH ORBIT,=2 IF LUNAR.| RTX2| RTX2| DCOMP BMN| CALCGRV1| VLOAD DOT # (12)| UNITZ| UNIT/R/| SL1 PUSH # (14)| DSQ BDSU| DP1/20| PDDL DDV| RESQ| 34D # (RN)SQ| STORE 32D # TEMP FOR (RE/RN)SQ| DMP DMP| 20J| VXSC PDDL| UNIT/R/| DMP DMP| 2J| 32D| VXSC VSL1| UNITZ| VAD STADR| STORE UNITGOBL| VAD PUSH # MPAC=UNIT GRAVITY VECTOR. (18)|CALCGRV1 DLOAD NORM # PERFORM A NORMALIZATION ON RMAGSQ IN| 34D # ORDER TO BE ABLE TO SCALE THE MU FOR| X2 # MAXIMUM PRECISION.| BDDV* SLR*| -MUDT,1| 0 -21D,2| VXSC STADR| STORE GDT1/2 # SCALED AT 2(+7) M/CS| RVQ||CALCRVG VLOAD VXM| DELV| REFSMMAT| VXSC VSL1| KPIP1| STORE DELVREF| VSR1 PUSH| VAD PUSH # (DV-OLDGDT)/2 TO PD SCALED AT 2(+7) M/CS.|# Page 881| GDT/2| VAD PDDL| VN| PGUIDE| SL VXSC| 6D| VAD STQ| RN| 31D| STCALL RN1 # TEMP STORAGE OF RN SCALED 2(+29) M| CALCGRAV|| VAD VAD| VAD| VN| STCALL VN1 # TEMP STORAGE OF VN SCALED 2(+7) M/CS| 31D||DP1/20 2DEC 0.05|SHIFT11 2DEC 1 B-11||# Page 882|#*****************************************************************************|# MUNRVG IS A SPECIAL AVERAGE G INTEGRATION ROUTINE USED BY THRUSTING|# PROGRAMS WHICH FUNCTION IN THE VICINITY OF AN ASSUMED SPHERICAL MOON.|# THE INPUT AND OUTPUT QUANTITIES ARE REFERENCED TO THE STABLE MEMBER|# COORDINATE SYSTEM.||RVBOTH VLOAD PUSH| G(CSM)| VAD PDDL| V(CSM)| PGUIDE| DDV VXSC| SHIFT11| VAD| R(CSM)| STCALL R1S| MUNGRAV| VAD VAD| V(CSM)| STADR| STORE V1S| EXIT| TC QUIKFAZ5| TC INTPRET| VLOAD| GDT1/2| STOVL G(CSM)| R1S| STOVL R(CSM)| V1S| STORE V(CSM)| EXIT| TC QUIKFAZ5| TC INTPRET|MUNRVG VLOAD VXSC| DELV| KPIP2| PUSH VAD # 1ST PUSH: DELV IN UNITS OF 2(8) M/CS| GDT/2| PUSH VAD # 2ND PUSH: (DELV + GDT)/2, UNITS OF 2(7)| V # (12)| PDDL DDV| PGUIDE| SHIFT11| VXSC| VAD| R| STCALL R1S # STORE R SCALED AT 2(+24) M| MUNGRAV|# Page 883| VAD VAD| VAD| V| STORE V1S # STORE V SCALED AT 2(+7) M/CS.| ABVAL| STOVL ABVEL # STORE SPEED FOR LR AND DISPLAYS.| UNIT/R/| DOT SL1| V1S| STOVL HDOTDISP # HDOT=V. UNIT(R)*2(7) M/CS.| R1S| VXV VSL2| WM| STODL DELVS # LUNAR ROTATION CORRECTION TERM*2(5) M/CS.| 36D| DSU| /LAND/| STCALL HCALC # FOR NOW, DISPLAY WHETHER POS OR NEG| MUNRETRN|MUNGRAV UNIT # AT 36D HAVE ABVAL(R), AT 34D R.R| STODL UNIT/R/| 34D| SL BDDV| 6D| -MUDTMUN| DMP VXSC| SHIFT11| UNIT/R/| STORE GDT1/2 # 1/2GDT SCALED AT 2(7) M/CS.| RVQ||1.95SECS DEC 195|7.5 2DEC .02286 B-6 # 7.5 FT/SEC AT 2(6) M/CS||2SEC(18) 2DEC 200 B-18||2SEC(28) 2OCT 0000000310 # 2SEC AT 2(28)||4SEC(28) 2DEC 400 B-28||BITS4-7 OCT 110|||# Page 884|UPDATCHK CAF NOLRRBIT # SEE IF LR UPDATE INHIBITED.| MASK FLGWRD11| CCS A| TCF CONTSERV # IT IS -- NO LR UPDATE| CAF RNGEDBIT # NO INHIBIT -- SEE ALT MEAS. THIS CYCLE.| MASK FLGWRD11| EXTEND| BZF VMEASCHK # NO ALT MEAS THIS CYCLE -- CHECK FOR VEL||POSUPDAT CA FIXLOC # SET PUSHLIST TO ZERO| TS PUSHLOC|| TC INTPRET| VLOAD VXM| HBEAMNB| XNBPIP # HBEAM SM AT 2(2)| PDVL VSL2 # STORE HBEAM IN PD 0-5| V1S # SCALE V AT 2(5) M/CS| VAD DOT| DELVS # V RELATIVE TO SURFACE AT 2(5) M/CS| 0D # V ALONG HBEAM AT 2(7) M/CS.| DMP EXIT| RADSKAL # SCALE TO RADAR COUNTS X 5|| CS FLGWRD12 # TEST LR ALTITUDE SCALE FACTOR| MASK ALTSCBIT| EXTEND| BZF +3 # BRANCH IF HIGH SCALE|| CA SKALSKAL # RESCALE IF LOW SCALE| TC SHORTMP|| +3 TC INTPRET| DAD SL # CORRECT HMEAS FOR DOPPLER EFFECT| HMEAS| 7D| DMP VXSC # SLANT RANGE AT 2(21), PUSH UP FOR HBEAM| HSCAL # SLANT RANGE VECTOR AT 2(23) M| DOT DSU| UNIT/R/ # ALTITUDE AT 2(24) M| HCALC # DELTA H AT 2(24) M| STORE DELTAH| EXIT|| CA FLGWRD11| MASK PSTHIBIT| EXTEND # DO NOT PERFORM DATA REASONABLENESS TEST| BZF NOREASON # UNTIL AFTER HIGATE|# Page 885| TC INTPRET| ABS DSU| DELQFIX # ABS(DELTAH) - DQFIX 50 FT NOM| SL3 DSU # SCALE TO 2(21)| HCALC # ABS(DELTAH) - (50 + HCALC/8) AT 2(21)| EXIT|| INCR LRLCTR| TC BRANCH| TCF HFAIL # DELTA H TOO LARGE| TCF HFAIL # DELTA H TOO LARGE| TC DOWNFLAG # TURN OFF ALT FAIL LAMP| ADRES HFLSHFLG||NOREASON CS FLGWRD11| MASK LRINHBIT| CCS A| TCF VMEASCHK # UPDATE INHIBITED -- TEST VELOCITY ANYWAY|| TC INTPRET # DO POSITION UPDATE| DLOAD SR4| HCALC # RESCALE H TO 2(28)M| EXIT| EXTEND| DCA DELTAH # STORE DELTAH IN MPAC AND| DXCH MPAC # BRING HCALC INTO A,L| TC ALSIGNAG| EXTEND # IF HIGH PART OF HCALC IS NON-ZERO, THEN| BZF +2 # HCALC> HMAX,| TCF VMEASCHK # SO UPDATE IS BYPASSED| TS MPAC +2 # FOR LATER SHORTMP|| CS L # -H AT 2(14) M| AD LRHMAX # HMAX - H| EXTEND| BZMF VMEASCHK # IF H >HMAX, BYPASS UPDATE| EXTEND| MP LRWH # WH(HMAX - H)| EXTEND| DV LRHMAX # WH(1 - H/HMAX)| TS MPTEMP| TC SHORTMP2 # DELTAH (WH)(1 - H/HMAX) IN MPAC| TC INTPRET # MODE IS DP FROM ABOVE| SL1| VXSC VAD| UNIT/R/ # DELTAR = DH(WH)(1 - H/HMAX) UNIT/R/| R1S| STCALL GNUR| MUNGRAV| EXIT|# Page 886| TC QUIKFAZ5|| CA ZERO|RUPDATED TC GNURVST||VMEASCHK TC QUIKFAZ5 # RESTART AT NEXT LOCATION| CS FLGWRD11| MASK VELDABIT # IS V READING AVAILABLE?| CCS A| TCF VALTCHK # NO: SEE IF V READING TO BE TAKEN||VELUPDAT CS VSELECT # PROCESS VELOCITY DATA| TS L| ADS L # -2 VSELECT IN L| AD L| AD L # -6 VSELECT IN A| INDEX FIXLOC| DXCH X1 # X1 = -6 VSELECT, X2 = -2 VSELECT|| CA EBANK4| TS EBANK| EBANK= LRXCDU|| CA LRYCDU # STORE LRCDUS IN CDUSPOTS| TS CDUSPOT| CA LRZCDU| TS CDUSPOT +2| CA LRXCDU| TS CDUSPOT +4|| TC BANKCALL| CADR QUICTRIG # GET SINES AND COSINES FOR NBSM|| CA FIXLOC| TS PUSHLOC # SET PD TO ZERO|| TC INTPRET| VLOAD* CALL| VZBEAMNB,1 # CONVERT VBEAM FROM NB TO SM| *NBSM*| PDDL SL # STORE IN PD 0-5| VMEAS # LOAD VELOCITY MEASUREMENT| 12D| DMP* PUSH # SCALE TO M/CS AT 2(6)| VZSCAL,2 # AND STORE IN PD 6-7| EXIT| CS ONE| TS MODE # CHANGE STORE MODE TO VECTOR|| CA PIPTEM # STORE DELV IN MPAC|# Page 887| ZL| DXCH MPAC|| CA PIPTEM +1| ZL| DXCH MPAC +3|| CA PIPTEM +2| ZL| DXCH MPAC +5|| CA EBANK7| TS EBANK # RESTORE EBANK 7| EBANK= DVCNTR| TC INTPRET| VXSC PDDL| KPIP1 # SCALE DELV TO 2(7) M/CS AND PUSH| LRVTIME # TIME OF DELV AT 2(28) CS| DSU DDV| PIPTIME # TU - T(N-1)| 2SEC(28)| VXSC VSL1 # G(N-1)(TU - T(N-1))| GDT/2 # SCALED AT 2(7) M/CS| VAD VAD # PUSH UP FOR DELV| V # VU = V(N-1) + DELVU + G(N-1) DTU| VSL2 VAD # SCALE TO 2(5) M/CS AND SUBTRACT| DELVS # MOON ROTATION.| PUSH ABVAL # STORE IN PD| SR4 DAD # ABS(VM)/8 + 7.5 AT 2(6)| 7.5| STOVL 20D # STORE IN 20D AND PICK UP VM| DOT BDSU # V(EST) AT 2(6)| 0 # DELTAV = VMEAS - V(EST)| PUSH ABS| DSU EXIT # ABS(DV) - (7.5 + ABS(VM)/8))| 20D|| INCR LRMCTR| TC BRANCH| TCF VFAIL # DELTA V TOO LARGE. ALARM| TCF VFAIL # DELTA V TOO LARGE. ALARM|| TC DOWNFLAG # TURN OFF VEL FAIL LAMP| ADRES VFLSHFLG|| CA FLGWRD11| MASK VXINHBIT| EXTEND| BZF VUPDAT # IF VX INHIBIT RESET, INCORPORATE DATA.|# Page 888| TC DOWNFLAG| ADRES VXINH # RESET VX INHIBIT|| CA VSELECT| AD NEG2 # IF VSELECT = 2 (X AXIS).| EXTEND # BYPASS UPDATE| BZF ENDVDAT||VUPDAT CS FLGWRD11| MASK LRINHBIT| CCS A| TCF VALTCHK # UPDATE INHIBITED|| TS MPAC +1|| CA ABVEL # STORE E7 ERASABLES NEEDED IN TEMPS| TS ABVEL*| CA VSELECT| TS VSELECT*| CA EBANK5| TS EBANK # CHANGE EBANKS|| EBANK= LRVF| CS LRVF| AD ABVEL* # IF V < VF, USE WVF| EXTEND| BZMF USEVF|| CS ABVEL*| AD LRVMAX # VMAX - V| EXTEND| BZMF WSTOR -1 # IF V> VMAX, W = 0|| EXTEND| INDEX VSELECT*| MP LRWVZ # WV(VMAX - V)|| EXTEND| DV LRVMAX # WV( 1 - V/VMAX )| TCF WSTOR||USEVF INDEX VSELECT*| CA LRWVFZ # USE APPROPRIATE CONSTANT WEIGHT| TCF WSTOR|| -1 CA ZERO|WSTOR TS MPAC| CS BIT7 # (=64D)| AD MODREG| EXTEND|# Page 889| BZMF +3 # IF IN P65,P66,P67, USE ANOTHER CONSTANT|| CA LRWVFF| TS MPAC|| +3 CA EBANK7| TS EBANK # CHANGE EBANKS|| EBANK= ABVEL| TC INTPRET| DMP VXSC # W(DELTA V)(VBEAMSM) UP 6-7, 0-5| VAD| V1S # ADD WEIGHTED DELTA V TO VELOCITY| STORE GNUV| EXIT|| TC QUIKFAZ5 # DO NOT RE-UPDATE|| CA SIX|VUPDATED TC GNURVST # STORE NEW VELOCITY VECTOR|ENDVDAT = VALTCHK||VALTCHK TC QUIKFAZ5 # DO NOT REPEAT ABOVE|| CAF READVBIT # TEST READVEL TO SEE IF VELOCITY READING| MASK FLGWRD11 # IS DESIRED.| CCS A| TCF READV # YES -- READ VELOCITY| CS ABVEL # NO -- SEE IF VELOCITY < 2000 FT/SEC| AD 2KFT/SEC| EXTEND| BZMF CONTSERV # V> 2000 FT/SEC DO NOT READ VEL|| TC UPFLAG # V < 2000 FT/SEC SET READVEL AND READ.| ADRES READVEL||READV CAF PRIO32 # SET UP JOB TO READ VELOCITY BEAMS.| TC NOVAC| EBANK=HMEAS| 2CADR LRVJOB|| TCF CONTSERV # CONTINUE WITH SERVICER||GNURVST TS BUF # STORE GNUR (=GNUV) IN R1S OR V1S| EXTEND # A=0 FOR R, A=6 FOR V| DCA GNUR| INDEX BUF| DXCH R1S| EXTEND|# Page 890| DCA GNUR +2| INDEX BUF| DXCH R1S +2| EXTEND| DCA GNUR +4| INDEX BUF| DXCH R1S +4| TC Q||QUIKFAZ5 CA EBANK3| XCH EBANK # SET EBANK 3| DXCH L # Q TO A, A TO L| EBANK=PHSNAME5| TS PHSNAME5| LXCH EBANK| EBANK=DVCNTR| TC A||HFAIL CS LRRCTR| EXTEND| BZF NORLITE # IF R=0, DO NOT TURN ON TRK FAIL| AD LRLCTR| MASK NEG3| EXTEND # IF L-R LT 4, DO NOT TURN ON TRK FAIL| BZF +2| TCF NORLITE|| TC UPFLAG # AND SET BIT TO TURN ON TRACKER FAIL LITE| ADRES HFLSHFLG||NORLITE CA LRLCTR| TS LRRCTR # SET R=L|| TCF VMEASCHK||VFAIL CS LRSCTR # DELTA Q LARGE| EXTEND # IF S=0, DO NOT TURN ON TRACKER FAIL| BZF NOLITE| AD LRMCTR # M-S| MASK NEG3 # TEST FOR M-S> 3| EXTEND # IF M-S > 3, THEN TWO OR MORE OF THE| BZF +2 # LAST FOUR V READINGS WERE BAD,| TCF NOLITE # SO TURN ON VELOCITY FAIL LIGHT|| TC UPFLAG # AND SET BIT TO TURN ON TRACKER FAIL LITE| ADRES VFLSHFLG||# Page 891|NOLITE CA LRMCTR # SET S = M| TS LRSCTR|| CCS VSELECT # TEST FOR Z COMPONENT| TCF ENDVDAT # NOT Z, DO NOT SET VX INHIBIT|| TC UPFLAG # Z COMPONENT - SET FLAG TO SKIP X| ADRES VXINH # COMPONENT, AS ERROR MAY BE DUE TO CROSS| TCF ENDVDAT # LOBE LOCK UP NOT DETECTED ON X AXIS.||# Page 892|# ********************************************************************************|# LRVJOB IS SET WHEN THE LEM IS BELOW 15000 FT DURING THE LANDING PHASE|# THIS JOB INITIALIZES THE LANDING RADAR READ ROUTINE FOR 5 VELOCITY|# SAMPLES AND GOES TO SLEEP WHILE THE SAMPLING IS DONE -- ABOUT 500 MS.|# WITH A GOODEND RETURN THE DATA IS STORED IN VMEAS AND BIT7 OF LRSTAT|# IS SET. THE GIMBAL ANGLES ARE READ ABOUT MIDWAY IN THE SAMPLINGS.||170MS EQUALS ND1||LRVJOB CA 170MS # SET TASK TO READ CDUS + PIPAS| TC WAITLIST| EBANK= LRVTIME| 2CADR RDGIMS|| CCS VSELECT # SEQUENCE LR VEL BEAM SELECTOR| TCF +2| CAF TWO # IF ZERO, RESET TO TWO| DOUBLE # 2XVSELECT USED FOR VBEAM INDEX IN LRVEL| TC BANKCALL # GO INITIALIZE LR VEL READ ROUTINE| CADR LRVEL| TC BANKCALL # PUT LRVJOB TO SLEEP ABOUT 500 MS| CADR RADSTALL| TCF VBAD| CCS STILBADV # IS DATA GOOD JUST PRESENT?| TCF VSTILBAD # JUST GOOD -- MUST WAIT 4 SECONDS.|| INHINT| EXTEND # GOOD RETURN -- STOW AWAY VMEAS| DCA SAMPLSUM| DXCH VMEAS| CA EBANK4 # FOR DOWNLINK| TS EBANK| EBANK= LRVTIME|| EXTEND| DCA LRVTIME| DXCH LRVTIMDL| EXTEND| DCA LRXCDU| DXCH LRXCDUDL| CA LRZCDU| TS LRZCDUDL| CA EBANK7| TS EBANK| EBANK= VSELECT|| CS FLGWRD11 # SET BIT TO INDICATE VELOCITY| MASK VELDABIT # MEASUREMENT MADE|# Page 893| ADS FLGWRD11|ENDLRV CCS VSELECT # UPDATE VSELECT| TCF +2| CA TWO| TS VSELECT| TCF ENDOFJOB||VBAD CAF TWO # SET STILBAD TO WAIT 4 SECONDS|VSTILBAD TS STILBADV| TCF ENDLRV||# LRHJOB IS SET BY LRHTASK WHEN LEM IS BELOW 25000 FT. THIS JOB|# INITIALIZES THE LR READ ROUTINE FOR AN ALT MEASUREMENT AND GOES TO|# SLEEP WHILE THE SAMPLING IS DONE -- ABOUT 95 MS. WITH A GOODEND RETURN|# THE ALT DATA IS STORED IN HMEAS AND BIT7 OF LRSTAT IS SET.|| BANK 34| SETLOC R12STUFF| BANK|| COUNT* $$/SERV||LRHJOB TC BANKCALL # INITIATE LR ALT MEASUREMENT| CADR LRALT| TC BANKCALL # LRHJOB TO SLEEP ABOUT 95MS| CADR RADSTALL| TCF HBAD| CCS STILBADH # IS DATA GOOD JUST PRESENT?| TCF HSTILBAD # JUST GOOD -- MUST WAIT 4 SECONDS.|| INHINT| EXTEND| DCA SAMPLSUM # GOOD RETURN -- STORE AWAY LRH DATA| DXCH HMEAS # LRH DATA 1.079 FT/BIT| EXTEND # FOR DOWNLINK| DCA PIPTIME1| DXCH MKTIME|| EXTEND| DCA CDUTEMPY # CDUY,Z = AIG,AMG| DXCH AIG|| CA CDUTEMPX # CDUX = AOG| TS AOG|| CS FLGWRD11 # SET BIT TO INDICATE RANGE| MASK RNGEDBIT # MEASUREMENT MADE.| ADS FLGWRD11|ENDLRH TC ENDOFJOB # TERMATE LRHJOB||# Page 894|HBAD CA FLAGWRD5| MASK RNGSCBIT # IS BAD RETURN DUE TO SCALE CHANGE?| EXTEND| BZF HSTILBAD -1 # NO RESET HSTILBAD| TC DOWNFLAG # YES RESET SCALE CHANGE BIT AND IGNORE| ADRES RNGSCFLG| TC ENDOFJOB|| CAF TWO # SET STILBAD TO WAIT 4 SECONDS|HSTILBAD TS STILBADH| TC ENDOFJOB|| BANK 34| SETLOC SERV4| BANK|| COUNT* $$/SERV||# RDGIMS IS A TASK SET UP BY LRVJOB TO PICK UP THE IMU CDUS AND TIME|# AT ABOUT THE MIDPOINT OF THE LR VEL READ ROUTINE WHEN 5 VEL SAMPLES|# ARE SPECIFIED.|| EBANK= LRVTIME|RDGIMS EXTEND| DCA TIME2 # PICK UP TIME2, TIME1| DXCH LRVTIME # AND SAVE IN LRVTIME|| EXTEND| DCA CDUX # PICK UP CDUX AND CDUY| DXCH LRXCDU # AND SAVE IN LRXCDU AND LRYCDU|| CA CDUZ| TS LRZCDU # SAVE CDUZ IN LRZCDU|| CA PIPAX| TS PIPTEM # SAVE PIPAX IN PIPTEM|| EXTEND| DCA PIPAY # PICK UP PIPAY AND PIPAZ| DXCH PIPTEM +1 # AND SAVE IN PIPTEM +1 AND PIPTEM +2| TC TASKOVER|| BANK 33| SETLOC SERVICES| BANK|| COUNT* $$/SERV|| EBANK= DVCNTR|# Page 895|# HIGATJOB IS SET APPROXIMATELY 6 SECONDS PRIOR TO HIGH GATE DURING|# THE DESCENT BURN PHASE OF LUNAR LANDING. THIS JOB INITIATES THE|# LANDING RADAR REPOSITIONING ROUTINE AND GOES TO SLEEP UNTIL THE|# LR ANTENNA MOVES FROM POSITION 1 TO POSITION 2. IF THE LR ANTENNA|# ACHIEVES POSITION 2 WITHIN 22 SECONDS THE ALTITUDE AND VELOCITY|# BEAM VECTORS ARE RECOMPUTED TO REFLECT THE NEW ORIENTATION WITH|# RESPECT TO THE NB. BIT10 OF LRSTAT IS CLEARED TO ALLOW LR|# MEASUREMENTS AND THE JOB TERMINATES.||HIGATJOB TC BANKCALL # START LRPOS2 JOB| CADR LRPOS2| TC BANKCALL # PUT HIGATJOB TO SLEEP UNTIL JOB IS DONE| CADR RADSTALL| TCF POSALARM # BAD END ALARM||POSGOOD CA PRIO23 # REDUCE PRIORITY FOR INTERPRETIVE COMPS.| TC PRIOCHNG|| TC SETPOS2 # LR IN POS2 -- SET UP TRANSFORMATIONS|| TC DOWNFLAG| ADRES NOLRREAD # RESET NOLRREAD FLAG TO ENABLE LR READING| TC ENDOFJOB||POSALARM CA OCT523| TC BANKCALL| CADR PRIOLARM # FLASH ALARM CODE| TCF GOTOPOOH # TERMINATE| TCF +3 # PROCEED -- TRY AGAIN| TCF ENDOFJOB # V 32 E TERMINATE R12| TC ENDOFJOB|| +3 CA BIT7 # SEE IF IN POS2 YET| EXTEND| RAND CHAN33| EXTEND| BZF POSGOOD # POS2 ACHIEVED SET UP ANTENNA BEAMS| TCF POSALARM # STILL DIDN'T MAKE IT REALARM||OCT523 OCT 00523||||SETPOS1 TC MAKECADR # MUST BE CALLED BY BANKCALL| TS LRADRET1 # SAVE RETURN CADR. SINCE BUP2 CLOBBERED|| CAF TWO| TS STILBADH # INITIALIZE STILBAD| TS STILBADV # INITIALIZE STILBAD|| CA ZERO # INDEX FOR LRALPHA, LRBETA IN POS 1.|# Page 896| TS LRLCTR # SET L,M,R, ANS S TO ZERO| TS LRMCTR| TS LRRCTR| TS LRSCTR| TS VSELECT # INITIALIZE VSELECT|| TC SETPOS # CONTINUE WITH COMPUTATIONS.|| CA LRADRET1| TC BANKJUMP # RETURN TO CALLER||SETPOS2 CA TWO # INDEX FOR POS2|SETPOS XCH Q # SAVE INDEX IN Q| TS LRADRET # SAVE RETURN|| CA EBANK5| TS EBANK| EBANK= LRALPHA|| EXTEND| INDEX Q| DCA LRALPHA # LRALPHA IN A, LRBETA IN L| TS CDUSPOT +4 # ROTATION ABOUT X| LXCH CDUSPOT # ROTATION ABOUT Y| CA ZERO| TS CDUSPOT +2 # ZERO ROTATION ABOUT Z.|| CA EBANK7| TS EBANK| EBANK= LRADRET|| TC INTPRET| VLOAD CALL| UNITY # CONVERT UNITY(ANTENNA) TO NB| TRG*SMNB| STOVL VYBEAMNB| UNITX # CONVERT UNITX(ANTENNA) TO NB| CALL| *SMNB*| STORE VXBEAMNB| VXV VSL1| VYBEAMNB| STOVL VZBEAMNB # Z = X * Y| HBEAMANT| CALL| *SMNB* # CONVERT TO NB| STORE HBEAMNB| EXIT||# Page 897| TC LRADRET|

WAGON PRESS KIT

STEAM PAGE

TRAILER


FACTSHEET

WAGON is made and published by me, Harry Hull.

Im a dev from the bay area. Nice to meet you :]


WAGON is going to release soonish.

I can be reached at support@dehusk.xyz


PITCH

WAGON is a 1-bit card game where you make tough decisions to try and survive winter on the Oregon Trail.


DESCRIPTION

Winter 1845 - As the Wagon Captain you were supposed to get everyone to Oregon City already, but the air is getting colder and your party has run out of food and hope.

You find yourself in the back of your wagon, alone and starving. Losing grip on your sanity, it's unclear how many moons have passed or how you are even still alive, but you must eat. As you commune with the spirit world in a last ditch effort to survive, you are offered a way out... if you play along.


ASSETS

small capsule

library capsule

isolated logo

SHEDYOURFLESH SHEDYOURFLESH SHEDYOURFLESH
HOME
GAMES ARTICLES
GITHUB HUSK BLUESKY
SHEDYOURFLESH SHEDYOURFLESH SHEDYOURFLESH
|SETLOC SERV1| BANK|| EBANK= DVCNTR||# ************* PREREAD *******************|| COUNT* $$/SERV||PREREAD CAF SEVEN # 5.7 SPOT TO SKIP LASTBIAS AFTER| TC GNUFAZE5 # RESTART.| CAF PRIO21| TC NOVAC| EBANK= NBDX| 2CADR LASTBIAS # DO LAST GYRO COMPENSATION IN FREE FALL||BIBIBIAS TC PIPASR +3 # CLEAR + READ PIPS LAST TIME IN FRE5+F133| # DO NOT DESTROY VALUE OF PIPTIME1|| CS FLAGWRD7| MASK SUPER011 # SET V37FLAG AND AVEGFLAG (BITS 5 AND 6| ADS FLAGWRD7 # OF FLAGWRD7)|| CS DRFTBIT| MASK FLAGWRD2 # RESET DRIFTFLAG| TS FLAGWRD2|| CAF FOUR # INITIALIZE DV MONITOR| TS PIPAGE|| CAF ENDJBCAD # POINT OUTROUTE TO END-OF-JOB.| TS OUTROUTE|| CAF PRIO22| TC FINDVAC # TO FIRST ENTRY TO AVERAGE G| EBANK= DVCNTR| 2CADR NORMLIZE|| CA TWO # 5.2SPOT FOR REREADAC AND NORMLIZE|GOREADAX TC GNUTFAZ5| CA 2SECS # WAIT TWO SECONDS FOR READACCS| TC VARDELAY||# Page 858|# ************* READACCS ****************||READACCS CS OCT37771 # THIS PIECE OF CODING ATTEMPTS TO| AD TIME5 # SYNCHRONIZE READACCS WITH THE DIGITAL| CCS A # AUTOPILOT SO THAT A PAXIS RUPT WILL| CS ONE # OCCUR APPROXIMATELY 70 MILLISECONDS| TCF +2 # FOLLOWING THE READACCS RUPT. THE 70 MS| CA ONE # OFFSET WAS CHOSEN SO THAT THE PAXIS| +2 ADS TIME5 # RUPT WOULD NOT OCCUR SIMULTANEOUSLY| # WITH ANY OF THE 8 SUBSEQUENT R10,R11| # INTERRUPTS -- THUS MINIMIZING THE POSS-| # IBILITY OF LOSING DOWNRUPTS.|| TC PIPASR # READ THE PIPAS.||PIPSDONE CA FIVE| TC GNUFAZE5|REDO5.5 CAF ONE| TS PIPAGE|| CA PRIO20| TC FINDVAC| EBANK= DVCNTR| 2CADR SERVICER # SET UP SERVICER JOB|| CA BIT9| EXTEND| WOR DSALMOUT # TURN ON TEST CONNECTOR OUTBIT|| CA FLAGWRD7| MASK AVEGFBIT| EXTEND| BZF AVEGOUT # AVEGFLAG DOWN -- SET UP FINAL EXIT|| CA FLAGWRD6| MASK MUNFLBIT| EXTEND| BZF MAKEACCS # MUNFLAG CLEAR -- BYPASS LR AND DISP.|| CCS PHASE2| TCF MAKEACCS # PHASE 2 ACTIVATED -- AVOID MULTIPLE R10.|| CAF SEVEN # SET PIPCTR FOR 4X/SEC RATE.| TS PIPCTR|| CS TIME1 # SET TBASE2 .05 SECONDS IN THE PAST.| AD FIVE| AD NEG1/2| AD NEG1/2| XCH TBASE2|# Page 859| CAF DEC17 # 2.21SPOT FOR R10,R11| TS L| COM| DXCH -PHASE2|| CAF OCT24 # FIRST R10,R11 IN .200 SECONDS| TC WAITLIST| EBANK= UNIT/R/| 2CADR R10,R11||MAKEACCS CA FOUR| TCF GOREADAX # DO PHASE CHANGE AND RECALL READACCS||AVEGOUT EXTEND| DCA AVOUTCAD # SET UP FINAL SERVICER EXIT| DXCH AVGEXIT|| CA FOUR # SET 5.4 SPOT FOR REREADAC AND SERVICER| TC GNUTFAZ5 # IF REREADAC IS CALLED, IT WILL EXIT| TC TASKOVER # END TASK WITHOUT CALLING READACCS||GNUTFAZ5 TS L # SAVE INPUT IN L| CS TIME1| TS TBASE5 # SET TBASE5| TCF +2||GNUFAZE5 TS L # SAVE INPUT IN L| CS L # -PHASE IN A, PHASE IN L.| DXCH -PHASE5 # SET -PHASE5,PHASE5| TC Q|| EBANK= DVCNTR|AVOUTCAD 2CADR AVGEND||ENDJBCAD CADR SERVEXIT +2||OCT37771 OCT 37771|| BANK 33| SETLOC SERVICES| BANK|| COUNT* $$/SERV||# Page 860|# ************* SERVICER ****************||SERVICER TC PHASCHNG # RESTART REREADAC + SERVICER| OCT 16035| OCT 20000| EBANK= DVCNTR| 2CADR GETABVAL|| CAF PRIO31 # INITIALIZE 1/PIPADT IN CASE RESTART HAS| TS 1/PIPADT # CAUSED LASTBIAS TO BE SKIPPED.|| TC BANKCALL # PIPA COMPENSATION CALL| CADR 1/PIPA||GETABVAL TC INTPRET| VLOAD ABVAL| DELV| EXIT| CA MPAC| TS ABDELV # ABDELV = CM/SEC*2(-14).| EXTEND| MP KPIP| DXCH ABDVCONV # ABDVCONV = M/CS * 2(-5).| EXTEND| DCA MASS| DXCH MASS1 # INITIALIZE MASS1 IN CASE WE SKIP MASSMON|MASSMON CS FLAGWRD8 # ARE WE ON THE SURFACE?| MASK SURFFBIT| EXTEND| BZF MOONSPOT # YES: BYPASS MASS MESS|| CA FLGWRD10 # NO: WHICH VEX SHOULD BE USED?| MASK APSFLBIT| CCS A| EXTEND # IF EXTEND IS EXECUTED, APSVEX --> A,| DCA APSVEX # OTHERWISE DPSVEX --> A| TS Q|| EXTEND| DCA ABDVCONV| EXTEND|OCT10002 DV Q # WHERE APPROPRIATE VEX RESIDES| EXTEND| MP MASS| DAS MASS1||MOONSPOT CA KPIP1 # TP MPAC = ABDELV AT 2(14) CM/SEC| TC SHORTMP # MULTIPLY BY KPIP1 TO GET|# Page 861| DXCH MPAC # ABDELV AT 2(7) M/CS| DAS DVTOTAL # UPDATE DVTOTAL FOR DISPLAY|| TC TMPTOSPT|| TC BANKCALL| CADR QUICTRIG|| CAF XNBPIPAD| TC BANKCALL| CADR FLESHPOT| TC INTPRET|AVERAGEG BON CALL| MUNFLAG| RVBOTH| CALCRVG| EXIT|GOSERV TC QUIKFAZ5||COPYCYCL TC COPYCYC||# CA ZERO # A IS ZERO ON RETURN FROM COPYCYC| TS PIPATMPX| TS PIPATMPY| TS PIPATMPZ|| CS STEERBIT # CLEAR STEERSW PRIOR TO DVMON.| MASK FLAGWRD2| TS FLAGWRD2|| CAF IDLEFBIT # IS THE IDLE FLAG SET?| MASK FLAGWRD7| CCS A| TCF NODVMON1 # IDLEFLAG = 1, HENCE SET AUXFLAG TO 0.|| CS FLAGWRD6| MASK AUXFLBIT| CCS A| TCF NODVMON2 # AUXFLAG = 0, HENCE SET AUXFLAG TO 1.||DVMON CS DVTHRUSH| AD ABDELV| EXTEND| BZMF LOTHRUST|| CS FLAGWRD2 # SET STEERSW.| MASK STEERBIT| ADS FLAGWRD2||DVCNTSET CAF ONE # ALLOW TWO PASSES MAXIMUM NOW THAT|# Page 862| TS DVCNTR # THRUST HAS BEEN DETECTED.|| CA FLGWRD10 # BRANCH IF APSFLAG IS SET.| MASK APSFLBIT| CCS A| TCF USEJETS|| CA BIT9 # CHECK GIMBAL FAIL BIT| EXTEND| RAND CHAN32| EXTEND| BZF USEJETS||USEGTS CS USEQRJTS| MASK DAPBOOLS| TS DAPBOOLS| TCF SERVOUT||NODVMON1 CS AUXFLBIT # SET AUXFLAG TO 0.| MASK FLAGWRD6| TS FLAGWRD6| TCF USEJETS|NODVMON2 CS FLAGWRD6 # SET AUXFLAG TO 1.| MASK AUXFLBIT| ADS FLAGWRD6| TCF USEJETS||LOTHRUST TC QUIKFAZ5| CCS DVCNTR| TCF DECCNTR|| CCS PHASE4 # COMFAIL JOB ACTIVE?| TCF SERVOUT # YES: WON'T NEED ANOTHER.|| TC PHASCHNG # 4.37SPOT FOR COMFAIL.| OCT 00374|| CAF PRIO25| TC NOVAC| EBANK= WHICH| 2CADR COMFAIL|| TCF SERVOUT||DECCNTR TS DVCNTR1| TC QUIKFAZ5| CA DVCNTR1| TS DVCNTR| INHINT| TC IBNKCALL # IF THRUST IS LOW, NO STEERING IS DONE|# Page 863| CADR STOPRATE # AND THE DESIRED RATES ARE SET TO ZERO.|USEJETS CS DAPBOOLS| MASK USEQRJTS| ADS DAPBOOLS|SERVOUT RELINT| TC BANKCALL| CADR 1/ACCS|| CA PRIORITY| MASK LOW9| TS PUSHLOC| ZL| DXCH FIXLOC # FIXLOC AND DVFIND|| TC QUIKFAZ5| EXTEND # EXIT TO SELECTED ROUTINE WHETHER THERE| DCA AVGEXIT # IS THRUST OR NOT. THE STATE OF STEERSW| DXCH Z # WILL CONVEY THIS INFORMATION.||XNBPIPAD ECADR XNBPIP|| BANK 32| SETLOC SERV2| BANK| COUNT* $$/SERV||AVGEND CA PIPTIME +1 # FINAL AVERAGE G EXIT| TS 1/PIPADT # SET UP FREE FALL GYRO COMPENSATION.|| TC UPFLAG # SET DRIFT FLAG.| ADRES DRIFTFLG|| TC BANKCALL| CADR PIPFREE|| CS BIT9| EXTEND| WAND DSALMOUT|| TC 2PHSCHNG| OCT 5 # GROUP 5 OFF| OCT 05022 # GROUP 2 ON| OCT 20000|| TC INTPRET| SET CLEAR| NOR29FLG # SHUT OFF R29 WHEN SERVICER ENDS.| SWANDISP # SHUT OFF R10 WHEN SERVICER ENDS.| CLEAR CALL # RESET MUNFLAG.| MUNFLAG|# Page 864| AVETOMID| CLEAR EXIT| V37FLAG|AVERTRN CA OUTROUTE # RETURN TO DESIRED POINT.| TC BANKJUMP||OUTGOAVE = AVERTRN|DVCNTR1 = MASS1||# Page 865| SETLOC SERV3| BANK| COUNT* $$/SERV||SERVIDLE EXTEND # DISCONNECT SERVICER FROM ALL GUIDANCE| DCA SVEXTADR| DXCH AVGEXIT|| CS FLAGWRD7 # DISCONNECT THE DELTA-V MONITOR| MASK IDLEFBIT| ADS FLAGWRD7|| CAF LRBYBIT # TERMINATE R12 IS RUNNING.| TS FLGWRD11|| EXTEND| DCA NEG0| DXCH -PHASE1|| CA FLAGWRD6 # DO NOT TURN OFF PHASE 2 IF MUNFLAG SET.| MASK MUNFLBIT| CCS A| TCF +4|| EXTEND| DCA NEG0| DXCH -PHASE2|| +4 EXTEND| DCA NEG0| DXCH -PHASE3|| EXTEND| DCA NEG0| DXCH -PHASE6|| CAF OCT33 # 4.33SPOT FOR GOP00FIX| TS L| COM| DXCH -PHASE4|| TCF WHIMPER # PERFORM A SOFTWARE RESTART AND PROCEED| # TO GOTOPOOH WHILE SERVICER CONTINUES TO| # RUN, ALBEIT IN A GROUND STATE WHERE| # ONLY STATE-VECTOR DEPENDENT FUNCTIONS| # ARE MAINTAINED.|| EBANK= DVCNTR|# Page 866|SVEXTADR 2CADR SERVEXIT|| BANK 32| SETLOC SERV| BANK| COUNT* $$/SERV||SERVEXIT TC PHASCHNG| OCT 00035||+2 TCF ENDOFJOB|| BANK 23| SETLOC NORMLIZ| BANK|| COUNT* $$/SERV||# Page 867|NORMLIZE TC INTPRET| VLOAD BOFF| RN1| MUNFLAG| NORMLIZ1| VSL6 MXV| REFSMMAT| STCALL R| MUNGRAV| VLOAD VSL1| VN1| MXV| REFSMMAT| STOVL V| V(CSM)| VXV UNIT| R(CSM)| STORE UHYP|ASCSPOT EXIT| EXTEND # MAKE SURE GROUP 2 IS OFF| DCA NEG0| DXCH -PHASE2|| TC POSTJUMP| CADR NORMLIZ2|| BANK 33| SETLOC SERVICES| BANK| COUNT* $$/SERV||NORMLIZ1 CALL| CALCGRAV| EXIT||NORMLIZ2 CA EIGHTEEN| TC COPYCYC +1 # DO NOT COPY MASS IN NORMLIZE| TC ENDOFJOB||COPYCYC CA OCT24 # DEC 20| +1 INHINT| +2 MASK NEG1 # REDUCE BY 1 IF ODD| TS ITEMP1| EXTEND| INDEX ITEMP1| DCA RN1| INDEX ITEMP1|# Page 868| DXCH RN| CCS ITEMP1| TCF COPYCYC +2| TC Q # RETURN UNDER INHINT||EIGHTEEN DEC 18||# Page 869|# ************* PIPA READER *****************|# MOD NO. 00 BY D. LICKLY, DEC. 9 1966|#|# FUNCTIONAL DESCRIPTION|# SUBROUTINE TO READ PIPA COUNTERS, TRYING TO BE VERY CAREFUL SO THAT WILL BE RESTARTABLE.|# PIPA READINGS ARE STORED IN THE VECTOR DELV. THE HIGH ORDER PART OF EACH COMPONENT CONTAINS THE PIPA READING,|# RESTARTS BEGIN AT REREADAC.|#|# AT THE END OF THE PIPA READER THE CDUS ARE READ AND STORED AS A|# VECTOR IN CDUTEMP. THE HIGH ORDER PART OF EACH COMPONENT CONTAINS|# THE CDU READING IN 25 COMP IN THE ORDER CDUX,Y,Z. THE THRUST|# VECTOR ESTIMATOR IN FINDCDUD REQUIRES THE CDUS BE READ AT PIPTIME.|#|# CALLING SEQUENCE AND EXIT|# CALL VIA TC, ISWCALL, ETC.|# EXIT IS VIA Q.|#|# INPUT|# INPUT IS THROUGH THE COUNTERS PIPAX, PIPAY, PIPAZ, AND TIME2.|#|# OUTPUT|# HIGH ORDER COMPONENTS OF THE VECTOR DELV CONTAIN THE PIPA READINGS.|# PIPTIME CONTAINS TIME OF PIPA READING.|#|# DEBRIS (ERASABLE LOCATIONS DESTROYED BY PROGRAM)|# TEMX, TEMY, TEMZ, PIPAGE|| BANK 37| SETLOC SERV1| BANK|| COUNT* $$/SERV||PIPASR EXTEND|# Page 870| DCA TIME2| DXCH PIPTIME1 # CURRENT TIME POSITIVE VALUE| +3 CS ZERO # INITIALIZE THESE AT NEG. ZERO.| TS TEMX| TS TEMY| TS TEMZ|| CA ZERO| TS DELVZ| TS DELVZ +1| TS DELVY| TS DELVY +1| TS DELVX +1| TS PIPAGE # SHOW PIPA READING IN PROGRESS||REPIP1 EXTEND| DCS PIPAX # X AND Y PIPS READ| DXCH TEMX| DXCH PIPAX # PIPAS SET TO NEG ZERO AS READ.| TS DELVX| LXCH DELVY||REPIP3 CS PIPAZ # REPEAT PROCESS FOR Z PIP| XCH TEMZ| XCH PIPAZ|DODELVZ TS DELVZ||REPIP4 EXTEND # COMPUTE GUIDANCE PERIOD| DCA PIPTIME1| DXCH PGUIDE| EXTEND| DCS PIPTIME| DAS PGUIDE|| CA CDUX # READ CDUS INTO HIGH ORDER CDUTEMPS| TS CDUTEMPX| CA CDUY| TS CDUTEMPY| CA CDUZ| TS CDUTEMPZ| CA DELVX| TS PIPATMPX| CA DELVY| TS PIPATMPY| CA DELVZ| TS PIPATMPZ|| TC Q||# Page 871|REREADAC CCS PIPAGE| TCF READACCS # PIP READING NOT STARTED. GO TO BEGINNING|| CAF DONEADR # SET UP RETURN FROM PIPASR| TS Q|| CCS DELVZ| TCF REPIP4 # Z DONE, GO DO CDUS| TCF +3 # Z NOT DONE, CHECK Y.| TCF REPIP4| TCF REPIP4|| ZL| CCS DELVY| TCF +3| TCF CHKTEMX # Y NOT DONE, CHECK X.| TCF +1| LXCH PIPAZ # Y DONE, ZERO Z PIP.|| CCS TEMZ| CS TEMZ # TEMZ NOT = -0, CONTAINS -PIPAZ VALUE.| TCF DODELVZ| TCF -2| LXCH DELVZ # TEMZ = -0, L HAS ZPIP VALUE.| TCF REPIP4||CHKTEMX CCS TEMX # HAS THIS CHANGED| CS TEMX # YES| TCF +3 # YES| TCF -2 # YES| TCF REPIP1 # NO| TS DELVX|| CS TEMY| TS DELVY|| CS ZERO # ZERO X AND Y PIPS| DXCH PIPAX # L STILL ZERO FROM ABOVE|| TCF REPIP3||DONEADR GENADR PIPSDONE||# Page 872| BANK 33| SETLOC SERVICES| BANK|| COUNT* $$/SERV||TMPTOSPT CA CDUTEMPY # THIS SUBROUTINE, CALLED BY AN RTB FROM| TS CDUSPOTY # INTERPRETIVE, LOADS THE CDUS CORRESPON-| CA CDUTEMPZ # DING TO PIPTIME INTO THE CDUSPOT VECTOR.| TS CDUSPOTZ| CA CDUTEMPX| TS CDUSPOTX| TC Q||# LRHTASK IS A WAITLIST TASK SET BY READACCS DURING THE DESCENT BRAKING|# PHASE WHEN THE ALT TO THE LUNAR SURFACE IS LESS THAN 25,000 FT. THIS|# TASK CLEARS THE ALTITUDE MEASUREMENT MADE DISCRETE AND INITIATES THE|# LANDING RADAR MEASUREMENT JOB (LRHJOB) TO TAKE A ALTITUDE MEASUREMENT|# 50 MS PRIOR TO THE NEXT READACCS TASK.|| BANK 21| SETLOC R10| BANK|| COUNT* $$/SERV||LRHTASK CS FLGWRD11| MASK LRBYBIT| EXTEND| BZF GRP2OFF # LR BYPASS SET -- BYPASS ALL LR READING.|| CA READLBIT| MASK FLGWRD11 # IS READLR FLAG SET?| EXTEND| BZF GRP2OFF # NO. BYPASS LR READ.|| CS FLGWRD11| MASK NOLRRBIT # IS LR READ INHIBITED?| EXTEND| BZF GRP2OFF # YES. BYPASS LR READ.|| CA PRIO32 # LR READ OK. SET JOB TO DO IT| TC NOVAC # ABOUT 50 MS. PRIOR TO PIPA READ.| EBANK= HMEAS| 2CADR LRHJOB||GRP2OFF EXTEND| DCA NEG0| DXCH -PHASE2| TCF R10,R11A|| BANK 33| SETLOC SERVICES| BANK|# Page 873| COUNT* $$/SERV||# HIGATASK IS ENTERED APPROXIMATELY 6 SECS PRIOR TO HIGATE DURING THE|# DESCENT PHASE. HIGATASK SETS THE HIGATE FLAG (BIT11) AND THE LR INHIBIT|# FLAG (BIT10) IN LRSTAT. THE HIGATJOB IS SET UP TO REPOSITION THE LR|# ANTENNA FROM POSITION 1 TO POSITION 2. IF THE REPOSITIONING IS|# SUCCESSFUL THE ALT BEAM AND VELOCITY BEAMS ARE TRANSFORMED TO THE NEW|# ORIENTATION IN NB COORDINATES AND STORED IN ERASABLE.||HIGATASK INHINT| CS PRIO3 # SET HIGATE AND LR INHIBIT FLAGS| MASK FLGWRD11| AD PRIO3| TS FLGWRD11| CAF PRIO32| TC FINDVAC # SET LR POSITIONING JOB (POS2)| EBANK= HMEAS| 2CADR HIGATJOB|| TCF CONTSERV # CONTINUE SERVICER||# Page 874|# MUNRETRN IS THE RETURN LOC FROM SPECIAL AVE G ROUTINE (MUNRVG)||MUNRETRN EXIT|| CS FLGWRD11| MASK LRBYBIT| EXTEND| BZF COPYCYC1 # BYPASS LR LOGIC IF BIT15 IS SET.|| CA READLBIT # SEE IF ALT < 35000 FT LAST CYCLE| MASK FLGWRD11| EXTEND| BZF 35KCHK # ALT WAS> 35000 FT LAST CYCLE CHK NOW|| CAF XORFLBIT # WERE WE BELOW 30000 FT LAST PASS?| MASK FLGWRD11| EXTEND| BZF XORCHK # NO -- TEST THIS PASS|HITEST CAF PSTHIBIT # CHECK FOR HIGATE| MASK FLGWRD11| EXTEND| BZF HIGATCHK # NOT AT HIGATE LAST CYCLE -- CHK THIS CYCLE||POS2CHK CAF BIT7 # VERIFY LR IN POS2| EXTEND| RAND CHAN33| EXTEND| BZF UPDATCHK # IT IS -- CHECK FOR LR UPDATE| CAF BIT13| EXTEND| RAND CHAN12| EXTEND| BZF LRPOSALM # LR NOT IN POS2 OR REPOSITIONING -- BAD| TCF CONTSERV # LR BEING REPOSITIONED -- CONTINUE SERV||HIGATCHK CA TTF/8 # IS TTF > CRITERION? (TTF IS NEGATIVE)| AD RPCRTIME| EXTEND| BZMF POS1CHK # NO|| CA EBANK4 # MUST SWITCH EBANKS| XCH EBANK| TS L # SAVE IN L|| EBANK= XNBPIP| CS XNBPIP # UXBXP IN GSOP CH5| EBANK= DVCNTR| LXCH EBANK # RESTORE EBANK| AD RPCRTQSW # QSW - UXBXP|# Page 875|| EXTEND| BZMF HIGATASK # IF UXBXP > QSW, THEN REPOSITION||POS1CHK CAF BIT6 # HIGATE NOT IN SIGHT -- DO POS1 CHK| EXTEND| RAND 33| EXTEND| BZF UPDATCHK # LR IN POS1 -- CHECK FOR LR UPDATE||LRPOSALM TC ALARM # LR NOT IN PROPER POS-ALARM-BYPASS UPDATE| OCT 511 # AND CONTINUE SERVICER|CONTSERV INHINT| CS BITS4-7| MASK FLGWRD11 # CLEAR LR MEASUREMENT MADE DISCRETES.| TS FLGWRD11|| TC IBNKCALL # SET LR LITES PROPERLY| CADR R12LITES||# Page 876|COPYCYC1 TC QUIKFAZ5||R29? CA FLAGWRD3| MASK NR29&RDR| CCS A # IS NOR29FLG OR READRFLG SET?| TCF R29NODES # YES, SO DON'T DESIGNATE.|| CA RADMODES # NO, SO R29 IS CALLED FOR.| MASK OCT10002 # IS THE RR NOT ZEROING ITS CDUS, AND| CCS A # IS THE RENDEZVOUS RADAR IN AUTO MODE?| TCF R29NODES # NO, SO DON'T DESIGNATE.|| CA RADMODES| MASK PRIO22| CCS A # IS RR REPOSITIONING OR REMODING?| TCF NOR29NOW # YES: COME BACK IN 2 SECONDS & TRY AGAIN.|| TCF R29||R29NODES INHINT # R29 NOT ALLOWED THIS CYCLE.| CS DESIGBIT # SHOW THAT DESIGNATION IS OFF.| MASK RADMODES| TS RADMODES||NOR29NOW TC INTPRET # INTPRET DOES A RELINT.| VLOAD ABVAL # MPAC = ABVAL( NEW SM. POSITION VECTOR )| R1S| PUSH DSU # (2)| /LAND/| STORE HCALC # NEW HCALC*2(24)M.| STORE HCALC1| DMPR RTB| ALTCONV| SGNAGREE| STOVL ALTBITS # ALTITUDE FOR R10 IN BIT UNITS.| UNIT/R/| VXV UNIT| UHYP| STOVL UHZP # DOWNRANGE HALF-UNIT VECTOR FOR R10.| R1S| VXM VSR4| REFSMMAT| STOVL RN1 # TEMP. REF. POSITION VECTOR*2(29)M.| V1S| VXM VSL1| REFSMMAT| STOVL VN1 # TEMP. REF. VELOCITY VECTOR 2(7) M/CS.| UNIT/R/| VXV ABVAL|# Page 877| V1S| SL1 DSQ| DDV| DMPR RTB| ARCONV1| SGNAGREE|COPYCYC2 EXIT # LEAVE ALTITUDE RATE COMPENSATION IN MPAC| INHINT| CA UNIT/R/ # UPDATE RUNIT FOR R10.| TS RUNIT| CA UNIT/R/ +2| TS RUNIT +1| CA UNIT/R/ +4| TS RUNIT +2| CA MPAC # LOAD NEW DALTRATE FOR R10.| TS DALTRATE|| EXTEND| DCA R1S| DXCH R| EXTEND| DCA R1S +2| DXCH R +2| EXTEND| DCA R1S +4| DXCH R +4| EXTEND| DCA V1S| DXCH V| EXTEND| DCA V1S +2| DXCH V +2| EXTEND| DCA V1S +4| DXCH V +4|| TCF COPYCYCL # COMPLETE THE COPYCYCL.||# Page 878|# ALTCHK COMPARES CURRENT ALTITUDE (IN HCALC) WITH A SPECIFIED ALTITUDE FROM A TABLE BEGINNING AT ALTCRIT.|# ITS CALLING SEQUENCE IS AS FOLLOWS:-|#|# L CAF N|# L+1 TC BANKCALL|# L+2 CADR ALTCHK|# L+3 RETURN HERE IF HCALC STILL > SPECIFIED CRITERION. C(L) = +0.|# L+4 RETURN HERE IF HCALC < OR=SPECIFIED CRITERION. C(A)=C(L)=+0|#|# ALTCHK MUST BE BANKCALLED EVEN FROM ITS OWN BANK. N IS THE LOCATION, RELATIVE TO THE TAG ALTCRIT,|# OF THE BEGINNING OF THE DP CONSTANT TO BE USED AS A CRITERION.||ALTCHK EXTEND| INDEX A| DCA ALTCRIT| DXCH MPAC +1| EXTEND| DCS HCALC| DAS MPAC +1| TC BRANCH +4| CAF ZERO # BETTER THAN A NOOP, PERHAPS| INCR BUF2| TCF SWRETURN||ALTCRIT=25KFT||25KFT 2DEC 7620 B-24 # (0)||50KFT 2DEC 15240 B-24 # (2)||50FT 2DEC 15.24 B-24 # (4)||30KFT 2DEC 9144 B-24 # (6)||2KFT/SEC DEC 6.096 B-7 # 2000 FT/SEC AT 2(7) M/CS|||# (A remark was likely to be needed here to explain XORCHK) 4/Jun/09,FB||XORCHK CAF SIX # ARE WE BELOW 30000 FT?| TC BANKCALL| CADR ALTCHK| TCF HITEST # CONTINUE LR UPDATE| TC UPFLAG # YES: INHIBIT X-AXIS OVERRIDE| ADRES XOVINFLG| TC UPFLAG| ADRES XORFLG| TCF HITEST # CONTINUE LR UPDATE||35KCHK CAF TWO # ARE WE BELOW 35000 FT?||# Page 879| TC BANKCALL| CADR ALTCHK| TCF CONTSERV| TC UPFLAG| ADRES READLR # SET READLR FLAG TO ENABLE LR READING.| TCF CONTSERV||# Page 880|# ***************************************************************||CALCGRAV UNIT PUSH # SAVE UNIT/R/ IN PUSHLIST (18)| STORE UNIT/R/| LXC,1 SLOAD # RTX2=0 IF EARTH ORBIT,=2 IF LUNAR.| RTX2| RTX2| DCOMP BMN| CALCGRV1| VLOAD DOT # (12)| UNITZ| UNIT/R/| SL1 PUSH # (14)| DSQ BDSU| DP1/20| PDDL DDV| RESQ| 34D # (RN)SQ| STORE 32D # TEMP FOR (RE/RN)SQ| DMP DMP| 20J| VXSC PDDL| UNIT/R/| DMP DMP| 2J| 32D| VXSC VSL1| UNITZ| VAD STADR| STORE UNITGOBL| VAD PUSH # MPAC=UNIT GRAVITY VECTOR. (18)|CALCGRV1 DLOAD NORM # PERFORM A NORMALIZATION ON RMAGSQ IN| 34D # ORDER TO BE ABLE TO SCALE THE MU FOR| X2 # MAXIMUM PRECISION.| BDDV* SLR*| -MUDT,1| 0 -21D,2| VXSC STADR| STORE GDT1/2 # SCALED AT 2(+7) M/CS| RVQ||CALCRVG VLOAD VXM| DELV| REFSMMAT| VXSC VSL1| KPIP1| STORE DELVREF| VSR1 PUSH| VAD PUSH # (DV-OLDGDT)/2 TO PD SCALED AT 2(+7) M/CS.|# Page 881| GDT/2| VAD PDDL| VN| PGUIDE| SL VXSC| 6D| VAD STQ| RN| 31D| STCALL RN1 # TEMP STORAGE OF RN SCALED 2(+29) M| CALCGRAV|| VAD VAD| VAD| VN| STCALL VN1 # TEMP STORAGE OF VN SCALED 2(+7) M/CS| 31D||DP1/20 2DEC 0.05|SHIFT11 2DEC 1 B-11||# Page 882|#*****************************************************************************|# MUNRVG IS A SPECIAL AVERAGE G INTEGRATION ROUTINE USED BY THRUSTING|# PROGRAMS WHICH FUNCTION IN THE VICINITY OF AN ASSUMED SPHERICAL MOON.|# THE INPUT AND OUTPUT QUANTITIES ARE REFERENCED TO THE STABLE MEMBER|# COORDINATE SYSTEM.||RVBOTH VLOAD PUSH| G(CSM)| VAD PDDL| V(CSM)| PGUIDE| DDV VXSC| SHIFT11| VAD| R(CSM)| STCALL R1S| MUNGRAV| VAD VAD| V(CSM)| STADR| STORE V1S| EXIT| TC QUIKFAZ5| TC INTPRET| VLOAD| GDT1/2| STOVL G(CSM)| R1S| STOVL R(CSM)| V1S| STORE V(CSM)| EXIT| TC QUIKFAZ5| TC INTPRET|MUNRVG VLOAD VXSC| DELV| KPIP2| PUSH VAD # 1ST PUSH: DELV IN UNITS OF 2(8) M/CS| GDT/2| PUSH VAD # 2ND PUSH: (DELV + GDT)/2, UNITS OF 2(7)| V # (12)| PDDL DDV| PGUIDE| SHIFT11| VXSC| VAD| R| STCALL R1S # STORE R SCALED AT 2(+24) M| MUNGRAV|# Page 883| VAD VAD| VAD| V| STORE V1S # STORE V SCALED AT 2(+7) M/CS.| ABVAL| STOVL ABVEL # STORE SPEED FOR LR AND DISPLAYS.| UNIT/R/| DOT SL1| V1S| STOVL HDOTDISP # HDOT=V. UNIT(R)*2(7) M/CS.| R1S| VXV VSL2| WM| STODL DELVS # LUNAR ROTATION CORRECTION TERM*2(5) M/CS.| 36D| DSU| /LAND/| STCALL HCALC # FOR NOW, DISPLAY WHETHER POS OR NEG| MUNRETRN|MUNGRAV UNIT # AT 36D HAVE ABVAL(R), AT 34D R.R| STODL UNIT/R/| 34D| SL BDDV| 6D| -MUDTMUN| DMP VXSC| SHIFT11| UNIT/R/| STORE GDT1/2 # 1/2GDT SCALED AT 2(7) M/CS.| RVQ||1.95SECS DEC 195|7.5 2DEC .02286 B-6 # 7.5 FT/SEC AT 2(6) M/CS||2SEC(18) 2DEC 200 B-18||2SEC(28) 2OCT 0000000310 # 2SEC AT 2(28)||4SEC(28) 2DEC 400 B-28||BITS4-7 OCT 110|||# Page 884|UPDATCHK CAF NOLRRBIT # SEE IF LR UPDATE INHIBITED.| MASK FLGWRD11| CCS A| TCF CONTSERV # IT IS -- NO LR UPDATE| CAF RNGEDBIT # NO INHIBIT -- SEE ALT MEAS. THIS CYCLE.| MASK FLGWRD11| EXTEND| BZF VMEASCHK # NO ALT MEAS THIS CYCLE -- CHECK FOR VEL||POSUPDAT CA FIXLOC # SET PUSHLIST TO ZERO| TS PUSHLOC|| TC INTPRET| VLOAD VXM| HBEAMNB| XNBPIP # HBEAM SM AT 2(2)| PDVL VSL2 # STORE HBEAM IN PD 0-5| V1S # SCALE V AT 2(5) M/CS| VAD DOT| DELVS # V RELATIVE TO SURFACE AT 2(5) M/CS| 0D # V ALONG HBEAM AT 2(7) M/CS.| DMP EXIT| RADSKAL # SCALE TO RADAR COUNTS X 5|| CS FLGWRD12 # TEST LR ALTITUDE SCALE FACTOR| MASK ALTSCBIT| EXTEND| BZF +3 # BRANCH IF HIGH SCALE|| CA SKALSKAL # RESCALE IF LOW SCALE| TC SHORTMP|| +3 TC INTPRET| DAD SL # CORRECT HMEAS FOR DOPPLER EFFECT| HMEAS| 7D| DMP VXSC # SLANT RANGE AT 2(21), PUSH UP FOR HBEAM| HSCAL # SLANT RANGE VECTOR AT 2(23) M| DOT DSU| UNIT/R/ # ALTITUDE AT 2(24) M| HCALC # DELTA H AT 2(24) M| STORE DELTAH| EXIT|| CA FLGWRD11| MASK PSTHIBIT| EXTEND # DO NOT PERFORM DATA REASONABLENESS TEST| BZF NOREASON # UNTIL AFTER HIGATE|# Page 885| TC INTPRET| ABS DSU| DELQFIX # ABS(DELTAH) - DQFIX 50 FT NOM| SL3 DSU # SCALE TO 2(21)| HCALC # ABS(DELTAH) - (50 + HCALC/8) AT 2(21)| EXIT|| INCR LRLCTR| TC BRANCH| TCF HFAIL # DELTA H TOO LARGE| TCF HFAIL # DELTA H TOO LARGE| TC DOWNFLAG # TURN OFF ALT FAIL LAMP| ADRES HFLSHFLG||NOREASON CS FLGWRD11| MASK LRINHBIT| CCS A| TCF VMEASCHK # UPDATE INHIBITED -- TEST VELOCITY ANYWAY|| TC INTPRET # DO POSITION UPDATE| DLOAD SR4| HCALC # RESCALE H TO 2(28)M| EXIT| EXTEND| DCA DELTAH # STORE DELTAH IN MPAC AND| DXCH MPAC # BRING HCALC INTO A,L| TC ALSIGNAG| EXTEND # IF HIGH PART OF HCALC IS NON-ZERO, THEN| BZF +2 # HCALC> HMAX,| TCF VMEASCHK # SO UPDATE IS BYPASSED| TS MPAC +2 # FOR LATER SHORTMP|| CS L # -H AT 2(14) M| AD LRHMAX # HMAX - H| EXTEND| BZMF VMEASCHK # IF H >HMAX, BYPASS UPDATE| EXTEND| MP LRWH # WH(HMAX - H)| EXTEND| DV LRHMAX # WH(1 - H/HMAX)| TS MPTEMP| TC SHORTMP2 # DELTAH (WH)(1 - H/HMAX) IN MPAC| TC INTPRET # MODE IS DP FROM ABOVE| SL1| VXSC VAD| UNIT/R/ # DELTAR = DH(WH)(1 - H/HMAX) UNIT/R/| R1S| STCALL GNUR| MUNGRAV| EXIT|# Page 886| TC QUIKFAZ5|| CA ZERO|RUPDATED TC GNURVST||VMEASCHK TC QUIKFAZ5 # RESTART AT NEXT LOCATION| CS FLGWRD11| MASK VELDABIT # IS V READING AVAILABLE?| CCS A| TCF VALTCHK # NO: SEE IF V READING TO BE TAKEN||VELUPDAT CS VSELECT # PROCESS VELOCITY DATA| TS L| ADS L # -2 VSELECT IN L| AD L| AD L # -6 VSELECT IN A| INDEX FIXLOC| DXCH X1 # X1 = -6 VSELECT, X2 = -2 VSELECT|| CA EBANK4| TS EBANK| EBANK= LRXCDU|| CA LRYCDU # STORE LRCDUS IN CDUSPOTS| TS CDUSPOT| CA LRZCDU| TS CDUSPOT +2| CA LRXCDU| TS CDUSPOT +4|| TC BANKCALL| CADR QUICTRIG # GET SINES AND COSINES FOR NBSM|| CA FIXLOC| TS PUSHLOC # SET PD TO ZERO|| TC INTPRET| VLOAD* CALL| VZBEAMNB,1 # CONVERT VBEAM FROM NB TO SM| *NBSM*| PDDL SL # STORE IN PD 0-5| VMEAS # LOAD VELOCITY MEASUREMENT| 12D| DMP* PUSH # SCALE TO M/CS AT 2(6)| VZSCAL,2 # AND STORE IN PD 6-7| EXIT| CS ONE| TS MODE # CHANGE STORE MODE TO VECTOR|| CA PIPTEM # STORE DELV IN MPAC|# Page 887| ZL| DXCH MPAC|| CA PIPTEM +1| ZL| DXCH MPAC +3|| CA PIPTEM +2| ZL| DXCH MPAC +5|| CA EBANK7| TS EBANK # RESTORE EBANK 7| EBANK= DVCNTR| TC INTPRET| VXSC PDDL| KPIP1 # SCALE DELV TO 2(7) M/CS AND PUSH| LRVTIME # TIME OF DELV AT 2(28) CS| DSU DDV| PIPTIME # TU - T(N-1)| 2SEC(28)| VXSC VSL1 # G(N-1)(TU - T(N-1))| GDT/2 # SCALED AT 2(7) M/CS| VAD VAD # PUSH UP FOR DELV| V # VU = V(N-1) + DELVU + G(N-1) DTU| VSL2 VAD # SCALE TO 2(5) M/CS AND SUBTRACT| DELVS # MOON ROTATION.| PUSH ABVAL # STORE IN PD| SR4 DAD # ABS(VM)/8 + 7.5 AT 2(6)| 7.5| STOVL 20D # STORE IN 20D AND PICK UP VM| DOT BDSU # V(EST) AT 2(6)| 0 # DELTAV = VMEAS - V(EST)| PUSH ABS| DSU EXIT # ABS(DV) - (7.5 + ABS(VM)/8))| 20D|| INCR LRMCTR| TC BRANCH| TCF VFAIL # DELTA V TOO LARGE. ALARM| TCF VFAIL # DELTA V TOO LARGE. ALARM|| TC DOWNFLAG # TURN OFF VEL FAIL LAMP| ADRES VFLSHFLG|| CA FLGWRD11| MASK VXINHBIT| EXTEND| BZF VUPDAT # IF VX INHIBIT RESET, INCORPORATE DATA.|# Page 888| TC DOWNFLAG| ADRES VXINH # RESET VX INHIBIT|| CA VSELECT| AD NEG2 # IF VSELECT = 2 (X AXIS).| EXTEND # BYPASS UPDATE| BZF ENDVDAT||VUPDAT CS FLGWRD11| MASK LRINHBIT| CCS A| TCF VALTCHK # UPDATE INHIBITED|| TS MPAC +1|| CA ABVEL # STORE E7 ERASABLES NEEDED IN TEMPS| TS ABVEL*| CA VSELECT| TS VSELECT*| CA EBANK5| TS EBANK # CHANGE EBANKS|| EBANK= LRVF| CS LRVF| AD ABVEL* # IF V < VF, USE WVF| EXTEND| BZMF USEVF|| CS ABVEL*| AD LRVMAX # VMAX - V| EXTEND| BZMF WSTOR -1 # IF V> VMAX, W = 0|| EXTEND| INDEX VSELECT*| MP LRWVZ # WV(VMAX - V)|| EXTEND| DV LRVMAX # WV( 1 - V/VMAX )| TCF WSTOR||USEVF INDEX VSELECT*| CA LRWVFZ # USE APPROPRIATE CONSTANT WEIGHT| TCF WSTOR|| -1 CA ZERO|WSTOR TS MPAC| CS BIT7 # (=64D)| AD MODREG| EXTEND|# Page 889| BZMF +3 # IF IN P65,P66,P67, USE ANOTHER CONSTANT|| CA LRWVFF| TS MPAC|| +3 CA EBANK7| TS EBANK # CHANGE EBANKS|| EBANK= ABVEL| TC INTPRET| DMP VXSC # W(DELTA V)(VBEAMSM) UP 6-7, 0-5| VAD| V1S # ADD WEIGHTED DELTA V TO VELOCITY| STORE GNUV| EXIT|| TC QUIKFAZ5 # DO NOT RE-UPDATE|| CA SIX|VUPDATED TC GNURVST # STORE NEW VELOCITY VECTOR|ENDVDAT = VALTCHK||VALTCHK TC QUIKFAZ5 # DO NOT REPEAT ABOVE|| CAF READVBIT # TEST READVEL TO SEE IF VELOCITY READING| MASK FLGWRD11 # IS DESIRED.| CCS A| TCF READV # YES -- READ VELOCITY| CS ABVEL # NO -- SEE IF VELOCITY < 2000 FT/SEC| AD 2KFT/SEC| EXTEND| BZMF CONTSERV # V> 2000 FT/SEC DO NOT READ VEL|| TC UPFLAG # V < 2000 FT/SEC SET READVEL AND READ.| ADRES READVEL||READV CAF PRIO32 # SET UP JOB TO READ VELOCITY BEAMS.| TC NOVAC| EBANK=HMEAS| 2CADR LRVJOB|| TCF CONTSERV # CONTINUE WITH SERVICER||GNURVST TS BUF # STORE GNUR (=GNUV) IN R1S OR V1S| EXTEND # A=0 FOR R, A=6 FOR V| DCA GNUR| INDEX BUF| DXCH R1S| EXTEND|# Page 890| DCA GNUR +2| INDEX BUF| DXCH R1S +2| EXTEND| DCA GNUR +4| INDEX BUF| DXCH R1S +4| TC Q||QUIKFAZ5 CA EBANK3| XCH EBANK # SET EBANK 3| DXCH L # Q TO A, A TO L| EBANK=PHSNAME5| TS PHSNAME5| LXCH EBANK| EBANK=DVCNTR| TC A||HFAIL CS LRRCTR| EXTEND| BZF NORLITE # IF R=0, DO NOT TURN ON TRK FAIL| AD LRLCTR| MASK NEG3| EXTEND # IF L-R LT 4, DO NOT TURN ON TRK FAIL| BZF +2| TCF NORLITE|| TC UPFLAG # AND SET BIT TO TURN ON TRACKER FAIL LITE| ADRES HFLSHFLG||NORLITE CA LRLCTR| TS LRRCTR # SET R=L|| TCF VMEASCHK||VFAIL CS LRSCTR # DELTA Q LARGE| EXTEND # IF S=0, DO NOT TURN ON TRACKER FAIL| BZF NOLITE| AD LRMCTR # M-S| MASK NEG3 # TEST FOR M-S> 3| EXTEND # IF M-S > 3, THEN TWO OR MORE OF THE| BZF +2 # LAST FOUR V READINGS WERE BAD,| TCF NOLITE # SO TURN ON VELOCITY FAIL LIGHT|| TC UPFLAG # AND SET BIT TO TURN ON TRACKER FAIL LITE| ADRES VFLSHFLG||# Page 891|NOLITE CA LRMCTR # SET S = M| TS LRSCTR|| CCS VSELECT # TEST FOR Z COMPONENT| TCF ENDVDAT # NOT Z, DO NOT SET VX INHIBIT|| TC UPFLAG # Z COMPONENT - SET FLAG TO SKIP X| ADRES VXINH # COMPONENT, AS ERROR MAY BE DUE TO CROSS| TCF ENDVDAT # LOBE LOCK UP NOT DETECTED ON X AXIS.||# Page 892|# ********************************************************************************|# LRVJOB IS SET WHEN THE LEM IS BELOW 15000 FT DURING THE LANDING PHASE|# THIS JOB INITIALIZES THE LANDING RADAR READ ROUTINE FOR 5 VELOCITY|# SAMPLES AND GOES TO SLEEP WHILE THE SAMPLING IS DONE -- ABOUT 500 MS.|# WITH A GOODEND RETURN THE DATA IS STORED IN VMEAS AND BIT7 OF LRSTAT|# IS SET. THE GIMBAL ANGLES ARE READ ABOUT MIDWAY IN THE SAMPLINGS.||170MS EQUALS ND1||LRVJOB CA 170MS # SET TASK TO READ CDUS + PIPAS| TC WAITLIST| EBANK= LRVTIME| 2CADR RDGIMS|| CCS VSELECT # SEQUENCE LR VEL BEAM SELECTOR| TCF +2| CAF TWO # IF ZERO, RESET TO TWO| DOUBLE # 2XVSELECT USED FOR VBEAM INDEX IN LRVEL| TC BANKCALL # GO INITIALIZE LR VEL READ ROUTINE| CADR LRVEL| TC BANKCALL # PUT LRVJOB TO SLEEP ABOUT 500 MS| CADR RADSTALL| TCF VBAD| CCS STILBADV # IS DATA GOOD JUST PRESENT?| TCF VSTILBAD # JUST GOOD -- MUST WAIT 4 SECONDS.|| INHINT| EXTEND # GOOD RETURN -- STOW AWAY VMEAS| DCA SAMPLSUM| DXCH VMEAS| CA EBANK4 # FOR DOWNLINK| TS EBANK| EBANK= LRVTIME|| EXTEND| DCA LRVTIME| DXCH LRVTIMDL| EXTEND| DCA LRXCDU| DXCH LRXCDUDL| CA LRZCDU| TS LRZCDUDL| CA EBANK7| TS EBANK| EBANK= VSELECT|| CS FLGWRD11 # SET BIT TO INDICATE VELOCITY| MASK VELDABIT # MEASUREMENT MADE|# Page 893| ADS FLGWRD11|ENDLRV CCS VSELECT # UPDATE VSELECT| TCF +2| CA TWO| TS VSELECT| TCF ENDOFJOB||VBAD CAF TWO # SET STILBAD TO WAIT 4 SECONDS|VSTILBAD TS STILBADV| TCF ENDLRV||# LRHJOB IS SET BY LRHTASK WHEN LEM IS BELOW 25000 FT. THIS JOB|# INITIALIZES THE LR READ ROUTINE FOR AN ALT MEASUREMENT AND GOES TO|# SLEEP WHILE THE SAMPLING IS DONE -- ABOUT 95 MS. WITH A GOODEND RETURN|# THE ALT DATA IS STORED IN HMEAS AND BIT7 OF LRSTAT IS SET.|| BANK 34| SETLOC R12STUFF| BANK|| COUNT* $$/SERV||LRHJOB TC BANKCALL # INITIATE LR ALT MEASUREMENT| CADR LRALT| TC BANKCALL # LRHJOB TO SLEEP ABOUT 95MS| CADR RADSTALL| TCF HBAD| CCS STILBADH # IS DATA GOOD JUST PRESENT?| TCF HSTILBAD # JUST GOOD -- MUST WAIT 4 SECONDS.|| INHINT| EXTEND| DCA SAMPLSUM # GOOD RETURN -- STORE AWAY LRH DATA| DXCH HMEAS # LRH DATA 1.079 FT/BIT| EXTEND # FOR DOWNLINK| DCA PIPTIME1| DXCH MKTIME|| EXTEND| DCA CDUTEMPY # CDUY,Z = AIG,AMG| DXCH AIG|| CA CDUTEMPX # CDUX = AOG| TS AOG|| CS FLGWRD11 # SET BIT TO INDICATE RANGE| MASK RNGEDBIT # MEASUREMENT MADE.| ADS FLGWRD11|ENDLRH TC ENDOFJOB # TERMATE LRHJOB||# Page 894|HBAD CA FLAGWRD5| MASK RNGSCBIT # IS BAD RETURN DUE TO SCALE CHANGE?| EXTEND| BZF HSTILBAD -1 # NO RESET HSTILBAD| TC DOWNFLAG # YES RESET SCALE CHANGE BIT AND IGNORE| ADRES RNGSCFLG| TC ENDOFJOB|| CAF TWO # SET STILBAD TO WAIT 4 SECONDS|HSTILBAD TS STILBADH| TC ENDOFJOB|| BANK 34| SETLOC SERV4| BANK|| COUNT* $$/SERV||# RDGIMS IS A TASK SET UP BY LRVJOB TO PICK UP THE IMU CDUS AND TIME|# AT ABOUT THE MIDPOINT OF THE LR VEL READ ROUTINE WHEN 5 VEL SAMPLES|# ARE SPECIFIED.|| EBANK= LRVTIME|RDGIMS EXTEND| DCA TIME2 # PICK UP TIME2, TIME1| DXCH LRVTIME # AND SAVE IN LRVTIME|| EXTEND| DCA CDUX # PICK UP CDUX AND CDUY| DXCH LRXCDU # AND SAVE IN LRXCDU AND LRYCDU|| CA CDUZ| TS LRZCDU # SAVE CDUZ IN LRZCDU|| CA PIPAX| TS PIPTEM # SAVE PIPAX IN PIPTEM|| EXTEND| DCA PIPAY # PICK UP PIPAY AND PIPAZ| DXCH PIPTEM +1 # AND SAVE IN PIPTEM +1 AND PIPTEM +2| TC TASKOVER|| BANK 33| SETLOC SERVICES| BANK|| COUNT* $$/SERV|| EBANK= DVCNTR|# Page 895|# HIGATJOB IS SET APPROXIMATELY 6 SECONDS PRIOR TO HIGH GATE DURING|# THE DESCENT BURN PHASE OF LUNAR LANDING. THIS JOB INITIATES THE|# LANDING RADAR REPOSITIONING ROUTINE AND GOES TO SLEEP UNTIL THE|# LR ANTENNA MOVES FROM POSITION 1 TO POSITION 2. IF THE LR ANTENNA|# ACHIEVES POSITION 2 WITHIN 22 SECONDS THE ALTITUDE AND VELOCITY|# BEAM VECTORS ARE RECOMPUTED TO REFLECT THE NEW ORIENTATION WITH|# RESPECT TO THE NB. BIT10 OF LRSTAT IS CLEARED TO ALLOW LR|# MEASUREMENTS AND THE JOB TERMINATES.||HIGATJOB TC BANKCALL # START LRPOS2 JOB| CADR LRPOS2| TC BANKCALL # PUT HIGATJOB TO SLEEP UNTIL JOB IS DONE| CADR RADSTALL| TCF POSALARM # BAD END ALARM||POSGOOD CA PRIO23 # REDUCE PRIORITY FOR INTERPRETIVE COMPS.| TC PRIOCHNG|| TC SETPOS2 # LR IN POS2 -- SET UP TRANSFORMATIONS|| TC DOWNFLAG| ADRES NOLRREAD # RESET NOLRREAD FLAG TO ENABLE LR READING| TC ENDOFJOB||POSALARM CA OCT523| TC BANKCALL| CADR PRIOLARM # FLASH ALARM CODE| TCF GOTOPOOH # TERMINATE| TCF +3 # PROCEED -- TRY AGAIN| TCF ENDOFJOB # V 32 E TERMINATE R12| TC ENDOFJOB|| +3 CA BIT7 # SEE IF IN POS2 YET| EXTEND| RAND CHAN33| EXTEND| BZF POSGOOD # POS2 ACHIEVED SET UP ANTENNA BEAMS| TCF POSALARM # STILL DIDN'T MAKE IT REALARM||OCT523 OCT 00523||||SETPOS1 TC MAKECADR # MUST BE CALLED BY BANKCALL| TS LRADRET1 # SAVE RETURN CADR. SINCE BUP2 CLOBBERED|| CAF TWO| TS STILBADH # INITIALIZE STILBAD| TS STILBADV # INITIALIZE STILBAD|| CA ZERO # INDEX FOR LRALPHA, LRBETA IN POS 1.|# Page 896| TS LRLCTR # SET L,M,R, ANS S TO ZERO| TS LRMCTR| TS LRRCTR| TS LRSCTR| TS VSELECT # INITIALIZE VSELECT|| TC SETPOS # CONTINUE WITH COMPUTATIONS.|| CA LRADRET1| TC BANKJUMP # RETURN TO CALLER||SETPOS2 CA TWO # INDEX FOR POS2|SETPOS XCH Q # SAVE INDEX IN Q| TS LRADRET # SAVE RETURN|| CA EBANK5| TS EBANK| EBANK= LRALPHA|| EXTEND| INDEX Q| DCA LRALPHA # LRALPHA IN A, LRBETA IN L| TS CDUSPOT +4 # ROTATION ABOUT X| LXCH CDUSPOT # ROTATION ABOUT Y| CA ZERO| TS CDUSPOT +2 # ZERO ROTATION ABOUT Z.|| CA EBANK7| TS EBANK| EBANK= LRADRET|| TC INTPRET| VLOAD CALL| UNITY # CONVERT UNITY(ANTENNA) TO NB| TRG*SMNB| STOVL VYBEAMNB| UNITX # CONVERT UNITX(ANTENNA) TO NB| CALL| *SMNB*| STORE VXBEAMNB| VXV VSL1| VYBEAMNB| STOVL VZBEAMNB # Z = X * Y| HBEAMANT| CALL| *SMNB* # CONVERT TO NB| STORE HBEAMNB| EXIT||# Page 897| TC LRADRET|