Permalink
Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign up| # Copyright: Public domain. | |
| # Filename: LUNAR_LANDING_GUIDANCE_EQUATIONS.agc | |
| # Purpose: Part of the source code for Luminary 1A build 099. | |
| # It is part of the source code for the Lunar Module's (LM) | |
| # Apollo Guidance Computer (AGC), for Apollo 11. | |
| # Assembler: yaYUL | |
| # Contact: HARTMUTH GUTSCHE <hgutsche@xplornet.com>. | |
| # Website: www.ibiblio.org/apollo. | |
| # Pages: 798-828 | |
| # Mod history: 2009-05-23 HG Transcribed from page images. | |
| # 2009-06-05 RSB Fixed a goofy thing that was apparently | |
| # legal in GAP but not in yaYUL. Eliminated | |
| # a couple of lines of code that shouldn't | |
| # have survived from Luminary 131 to here. | |
| # 2009-06-07 RSB Fixed a typo. | |
| # | |
| # 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 001 of AGC program LMY99 by NASA 2021112-61 | |
| # 16:27 JULY 14, 1969 | |
| # Page 798 | |
| EBANK= E2DPS | |
| COUNT* $$/F2DPS | |
| # ******************************************************** | |
| # LUNAR LANDING FLIGHT SEQUENCE TABLES | |
| # ******************************************************** | |
| # FLIGHT SEQUENCE TABLES ARE ARRANGED BY FUNCTION. THEY ARE REFERENCED USING AS AN INDEX THE REGISTER WCHPHASE: | |
| # WCHPHASE = -1 ---> IGNALG | |
| # WCHPHASE = 0 ---> BRAKQUAD | |
| # WCHPHASE = 1 ---> APPRQUAD | |
| # WCHPHASE = 2 ---> VERTICAL | |
| #********************************************************* | |
| # ROUTINES FOR STARTING NEW GUIDANCE PHASES: | |
| TCF TTFINCR # IGNALG | |
| NEWPHASE TCF TTFINCR # BRAKQUAD | |
| TCF STARTP64 # APPRQUAD | |
| TCF P65START # VERTICAL | |
| # PRE-GUIDANCE COMPUTATIONS: | |
| TCF CALCRGVG # IGNALG | |
| PREGUIDE TCF RGVGCALC # BRAKQUAD | |
| TCF REDESIG # APPRQUAD | |
| TCF RGVGCALC # VERTICAL | |
| # GUIDANCE EQUATIONS: | |
| TCF TTF/8CL # IGNALG | |
| WHATGUID TCF TTF/8CL # BRAKQUAD | |
| TCF TTF/8CL # APPRQUAD | |
| TCF VERTGUID # VERTICAL | |
| # POST GUIDANCE EQUATION COMPUTATIONS: | |
| TCF CGCALC # IGNALG | |
| AFTRGUID TCF CGCALC # BRAKQUAD | |
| TCF CGCALC # APPRQUAD | |
| TCF STEER? # VERTICAL | |
| # Page 799 | |
| # WINDOW VECTOR COMPUTATIONS: | |
| TCF EXGSUB # IGNALG | |
| WHATEXIT TCF EXBRAK # BRAKQUAD | |
| TCF EXNORM # APPRQUAD | |
| # DISPLAY ROUTINES: | |
| WHATDISP TCF P63DISPS # BRAKQUAD | |
| TCF P64DISPS # APPRQUAD | |
| TCF VERTDISP # VERTICAL | |
| # ALARM ROUTINE FOR TTF COMPUTATION: | |
| TCF 1406P00 # IGNALG | |
| WHATALM TCF 1406ALM # BRAKQUAD | |
| TCF 1406ALM # APPRQUAD | |
| # INDICES FOR REFERENCING TARGET PARAMETERS | |
| OCT 0 # IGNALG | |
| TARGTDEX OCT 0 # BRAKQUAD | |
| OCT 34 # APPRQUAD | |
| #************************************************************************ | |
| # ENTRY POINTS: ?GUIDSUB FOR THE IGNITION ALGORITHM, LUNLAND FOR SERVOUT | |
| #************************************************************************ | |
| # IGNITION ALGORITHM ENTRY: DELIVERS N PASSES OF QUADRATIC GUIDANCE | |
| ?GUIDSUB EXIT | |
| CAF TWO # N = 3 | |
| TS NGUIDSUB | |
| TCF GUILDRET +2 | |
| GUIDSUB TS NGUIDSUB # ON SUCCEEDING PASSES SKIP TTFINCR | |
| TCF CALCRGVG | |
| # NORMAL ENTRY: CONTROL COMES HERE FROM SERVOUT | |
| LUNLAND TC PHASCHNG | |
| OCT 00035 # GROUP 5: RETAIN ONLY PIPA TASK | |
| TC PHASCHNG | |
| OCT 05023 # GROUP 3: PROTECT GUIDANCE WITH PRIO 21 | |
| OCT 21000 # JUST HIGHER THAN SERVICER'S PRIORITY | |
| # Page 800 | |
| #******************************************************************* | |
| # GUILDENSTERN: AUTO-MODES MONITOR (R13) | |
| #******************************************************************* | |
| COUNT* $$/R13 | |
| # HERE IS THE PHILOSOPHY OF GUILDENSTERN: ON EVERY APPEARANCE OR DISAPPEARANCE OF THE MANUAL THROTTLE | |
| # DISCRETE TO SELECT P67 OR P66 RESPECTIVELY: ON EVERY APPEARANCE OF THE ATTITUDE-HOLD DISCRETE TO SELECT P66 | |
| # UNLESS THE CURRENT PROGRAM IS P67 IN WHICH CASE THERE IS NO CHANGE | |
| GUILDEN EXTEND # IS UN-AUTO-THROTTLE DISCRETE PRESENT? | |
| # STERN # RSB 2009: Not originally a comment. | |
| READ CHAN30 | |
| MASK BIT5 | |
| CCS A | |
| TCF STARTP67 # YES | |
| P67NOW? TC CHECKMM # NO: ARE WE IN P67 NOW? | |
| DEC 67 | |
| TCF STABL? # NO | |
| STARTP66 TC FASTCHNG # YES | |
| TC NEWMODEX | |
| DEC66 DEC 66 | |
| EXTEND | |
| DCA HDOTDISP # SET DESIRED ALTITUDE RATE = CURRENT | |
| DXCH VDGVERT # ALTITUDE RATE. | |
| STRTP66A TC INTPRET | |
| SLOAD PUSH | |
| PBIASZ | |
| SLOAD PUSH | |
| PBIASY | |
| SLOAD VDEF | |
| PBIASX | |
| VXSC SET | |
| BIASFACT | |
| RODFLAG | |
| STOVL VBIAS | |
| TEMX | |
| VCOMP | |
| STOVL OLDPIPAX | |
| ZEROVECS | |
| STODL DELVROD | |
| RODSCALE | |
| STODL RODSCAL1 | |
| PIPTIME | |
| STORE LASTTPIP | |
| EXIT | |
| CAF ZERO | |
| TS FCOLD | |
| TS FWEIGHT | |
| TS FWEIGHT +1 | |
| VRTSTART TS WCHVERT | |
| # Page 801 | |
| CAF TWO # WCHPHASE = 2 ---> VERTICAL: P65,P66,P67 | |
| TS WCHPHOLD | |
| TS WCHPHASE | |
| TC BANKCALL # TEMPORARY, I HOPE HOPE HOPE | |
| CADR STOPRATE # TEMPORARY, I HOPE HOPE HOPE | |
| TC DOWNFLAG # PERMIT X-AXIS OVERRIDE | |
| ADRES XOVINFLG | |
| TC DOWNFLAG | |
| ADRES REDFLAG | |
| TCF VERTGUID | |
| STARTP67 TC NEWMODEX # NO HARM IN "STARTING" P67 OVER AND OVER | |
| DEC 67 # SO NO NEED FOR A FASTCHNG AND NO NEED | |
| CAF ZERO # TO SEE IF ALREADY IN P67. | |
| TS RODCOUNT | |
| CAF TEN | |
| TCF VRTSTART | |
| STABL? CAF BIT13 # IS UN-ATTITUDE-HOLD DISCRETE PRESENT? | |
| EXTEND | |
| RAND CHAN31 | |
| CCS A | |
| TCF GUILDRET # YES ALL'S WELL | |
| P66NOW? CS MODREG | |
| AD DEC66 | |
| EXTEND | |
| BZF RESTART? | |
| CA RODCOUNT # NO. HAS THE ROD SWITCH BEEN "CLICKED"? | |
| EXTEND | |
| BZF GUILDRET # NO. CONTINUE WITH AUTOMATIC LANDING | |
| TCF STARTP66 # YES. SWITCH INTO THE ROD MODE. | |
| RESTART? CA FLAGWRD1 # HAS THERE BEEN A RESTART? | |
| MASK RODFLBIT | |
| EXTEND | |
| BZF STRTP66A # YES. REINITIALIZE BUT LEAVE VDGVERT AS | |
| # IS. | |
| TCF VERTGUID # NO: CONTINUE WITH R.O.D. | |
| # ******************************************************************************* | |
| # INITIALIZATION FOR THIS PASS | |
| # ******************************************************************************* | |
| COUNT* $$/F2DPS | |
| GUILDRET CAF ZERO | |
| TS RODCOUNT | |
| # Page 802 | |
| +2 EXTEND | |
| DCA TPIP | |
| DXCH TPIPOLD | |
| TC FASTCHNG | |
| EXTEND | |
| DCA PIPTIME1 | |
| DXCH TPIP | |
| EXTEND | |
| DCA TTF/8 | |
| DXCH TTF/8TMP | |
| CCS FLPASS0 | |
| TCF TTFINCR | |
| BRSPOT1 INDEX WCHPHASE | |
| TCF NEWPHASE | |
| # ****************************************************************** | |
| # ROUTINES TO START NEW PHASES | |
| # ****************************************************************** | |
| P65START TC NEWMODEX | |
| DEC 65 | |
| CS TWO | |
| TS WCHVERT | |
| TC DOWNFLAG # PERMIT X-AXIS OVERRIDE | |
| ADRES XOVINFLG | |
| TCF TTFINCR | |
| STARTP64 TC NEWMODEX | |
| DEC 64 | |
| CA DELTTFAP # AUGMENT TTF/8 | |
| ADS TTF/8TMP | |
| CA BIT12 # ENABLE RUPT10 | |
| EXTEND | |
| WOR CHAN13 | |
| TC DOWNFLAG # INITIALIZE REDESIGNATION FLAG | |
| ADRES REDFLAG | |
| # (CONTINUE TO TTFINCR) | |
| # ********************************************************************************* | |
| # INCREMENT TTF/8, UPDATE LAND FOR LUNAR ROTATION, DO OTHER USEFUL THINGS | |
| # ********************************************************************************* | |
| # | |
| # TTFINCR COMPUTATIONS ARE AS FOLLOWS -- | |
| # Page 803 | |
| # TTF/8 UPDATED FOR TIME SINCE LAST PASS: | |
| # TTF/8 = TTF/8 + (TPIP - TPIPOLD)/8 | |
| # LANDING SITE VECTOR UPDATED FOR LUNAR ROTATION: | |
| # ____ ____ ____ __ | |
| # LAND = /LAND/ UNIT(LAND - LAND(TPIP - TPIPOLD) * WM) | |
| # SLANT RANGE TO LANDING SITE, FOR DISPLAY: | |
| # ____ _ | |
| # RANGEDSP = ABVAL(LAND - R) | |
| TTFINCR TC INTPRET | |
| DLOAD DSU | |
| TPIP | |
| TPIPOLD | |
| SLR PUSH # SHIFT SCALES DELTA TIME TO 2(17) CSECS | |
| 11D | |
| VXSC VXV | |
| LAND | |
| WM | |
| BVSU RTB | |
| LAND | |
| NORMUNIT | |
| VXSC VSL1 | |
| /LAND/ | |
| STODL LANDTEMP | |
| EXIT | |
| DXCH MPAC | |
| DAS TTF/8TMP # NOW HAVE INCREMENTED TTF/8 IN TTF/8TMP | |
| TC FASTCHNG | |
| EXTEND | |
| DCA TTF/8TMP | |
| DXCH TTF/8 | |
| EXTEND | |
| DCA LANDTEMP | |
| DXCH LAND | |
| EXTEND | |
| DCA LANDTEMP +2 | |
| DXCH LAND +2 | |
| EXTEND | |
| DCA LANDTEMP +4 | |
| DXCH LAND +4 | |
| # Page 804 | |
| TC TDISPSET | |
| TC FASTCHNG # SINCE REDESIG MAY CHANGE LANDTEMP | |
| BRSPOT2 INDEX WCHPHASE | |
| TCF PREGUIDE | |
| # ********************************************************************* | |
| # LANDING SITE PERTURBATION EQUATIONS | |
| # ********************************************************************* | |
| REDESIG CA FLAGWRD6 # IS REDFLAG SET? | |
| MASK REDFLBIT | |
| EXTEND | |
| BZF RGVGCALC # NO: SKIP REDESIGNATION LOGIC | |
| CA TREDES # YES: HAS TREDES REACHED ZERO? | |
| EXTEND | |
| BZF RGVGCALC # YES: SKIP REDESIGNATION LOGIC | |
| INHINT | |
| CA ELINCR1 | |
| TS ELINCR | |
| CA AZINCR1 | |
| TS AZINCR | |
| TC FASTCHNG | |
| CA ZERO | |
| TS ELINCR1 | |
| TS AZINCR1 | |
| TS ELINCR +1 | |
| TS AZINCR +1 | |
| CA FIXLOC # SET PD TO 0 | |
| TS PUSHLOC | |
| TC INTPRET | |
| VLOAD VSU | |
| LAND | |
| R # ____ _ | |
| RTB PUSH # PUSH DOWN UNIT (LAND - R) | |
| NORMUNIT | |
| VXV VSL1 | |
| YNBPIP # ___ ____ _ | |
| VXSC PDDL # PUSH DOWN - ELINCR(YNB * UNIT(LAND - R)) | |
| ELINCR | |
| AZINCR | |
| VXSC VSU | |
| YNBPIP | |
| VAD PUSH # RESULTING VECTOR IS 1/2 REAL SIZE | |
| # Page 805 | |
| DLOAD DSU # MAKE SURE REDESIGNATION IS NOT | |
| 0 # TOO CLOSE TO THE HORIZON. | |
| DEPRCRIT | |
| BMN DLOAD | |
| REDES1 | |
| DEPRCRIT | |
| STORE 0 | |
| REDES1 DLOAD DSU | |
| LAND | |
| R | |
| DDV VXSC | |
| 0 | |
| VAD UNIT | |
| R | |
| VXSC VSL1 | |
| /LAND/ | |
| STORE LANDTEMP | |
| EXIT # LOOKANGL WILL BE COMPUTED AT RGVGCALC | |
| TC FASTCHNG | |
| EXTEND | |
| DCA LANDTEMP | |
| DXCH LAND | |
| EXTEND | |
| DCA LANDTEMP +2 | |
| DXCH LAND +2 | |
| EXTEND | |
| DCA LANDTEMP +4 | |
| DXCH LAND +4 | |
| TCF RGVGCALC | |
| # ********************************************************************* | |
| # COMPUTE STATE IN GUIDANCE COORDINATES | |
| # ********************************************************************* | |
| # | |
| # RGVGCALC COMPUTATIONS ARE AS FOLLOWS:-- | |
| # VELOCITY RELATIVE TO THE SURFACE: | |
| # _______ _ _ __ | |
| # ANGTERM = V + R * WM | |
| # STATE IN GUIDANCE COORDINATES: | |
| # ___ * _ ____ | |
| # RGU = CG (R - LAND) | |
| # ___ * _ __ _ | |
| # VGU = CG (V - WM * R) | |
| # Page 806 actually starts one line earlier but that would separate the markers from their variables | |
| # | |
| # HORIZONTAL VELOCITY FOR DISPLAY | |
| # | |
| # VHORIZ = 8 ABVAL (0, VG , VG ) | |
| # 2 1 | |
| # DEPRESSION ANGLE FOR DISPLAY: | |
| # _ ____ ______ | |
| # LOOKANGL = ARCSIN(UNIT(R - LAND).XMBPIP) | |
| CALCRGVG TC INTPRET # IN IGNALG, COMPUTE V FROM INTEGRATION | |
| VLOAD MXV # OUTPUT AND TRIM CORRECTION TERM | |
| VATT1 # COMPUTED LAST PASS AND LEFT IN UNFC/2 | |
| REFSMMAT | |
| VSR1 VAD | |
| UNFC/2 | |
| STORE V | |
| EXIT | |
| RGVGCALC TC INTPRET # ENTER HERE TO RECOMPUTE RG AND VG | |
| VLOAD VXV | |
| R | |
| WM | |
| VAD VSR2 # RESCALE TO UNITS OF 2(9) M/CS | |
| V | |
| STORE ANGTERM | |
| MXV | |
| CG # NO SHIFT SINCE ANGTERM IS DOUBLE SIZED | |
| STORE VGU | |
| PDDL VDEF # FORM (0,VG ,VG ) IN UNITS OF 2(10) M/CS | |
| ZEROVECS # 2 1 | |
| ABVAL SL3 | |
| STOVL VHORIZ # VHORIZ FOR DISPLAY DURING P65. | |
| R # _ ____ | |
| VSU PUSH # PUSH DOWN R - LAND | |
| LAND | |
| MXV VSL1 | |
| CG | |
| STORE RGU | |
| ABVAL | |
| STOVL RANGEDSP | |
| RTB DOT # NOW IN MPAC IS SINE(LOOKANGL)/4 | |
| NORMUNIT | |
| XNBPIP | |
| EXIT | |
| CA FIXLOC # RESET PUSH DOWN POINTER | |
| TS PUSHLOC | |
| # Page 807 | |
| CA MPAC # COMPUTE LOOKANGLE ITSELF | |
| DOUBLE | |
| TC BANKCALL | |
| CADR SPARCSIN -1 | |
| AD 1/2DEG | |
| EXTEND | |
| MP 180DEGS | |
| TS LOOKANGL # LOOKANGL FOR DISPLAY DURING P64 | |
| BRSPOT3 INDEX WCHPHASE | |
| TCF WHATGUID | |
| # ************************************************************************** | |
| # TTF/8 COMPUTATION | |
| # ************************************************************************** | |
| TTF/8CL TC INTPRETX | |
| DLOAD* | |
| JDG2TTF,1 | |
| STODL* TABLTTF +6 # A(3) = 8 JDG TO TABLTTF | |
| ADG2TTF,1 # 2 | |
| STODL TABLTTF +4 # A(2) = 6 ADG TO TABLTTF | |
| VGU +4 # 2 | |
| DMP DAD* | |
| 3/4DP | |
| VDG2TTF,1 | |
| STODL* TABLTTF +2 # A(1) = (6 VGU + 18 VDG )/8 TO TABLTTF | |
| RDG +4,1 # 2 2 | |
| DSU DMP | |
| RGU +4 | |
| 3/8DP | |
| STORE TABLTTF # A(0) = -24 (RGU - RDG )/64 TO TABLTTF | |
| EXIT # 2 2 | |
| CA BIT8 | |
| TS TABLTTF +10 # FRACTIONAL PRECISION FOR TTF TO TABLE | |
| EXTEND | |
| DCA TTF/8 | |
| DXCH MPAC # LOADS TTF/8 (INITIAL GUESS) INTO MPAC | |
| CAF TWO # DEGREE - ONE | |
| TS L | |
| CAF TABLTTFL | |
| TC ROOTPSRS # YIELDS TTF/8 IN MPAC | |
| INDEX WCHPHASE | |
| TCF WHATALM | |
| EXTEND # GOOD RETURN | |
| DCA MPAC # FETCH TTF/8 KEEPING IT IN MPAC | |
| DXCH TTF/8 # CORRECTED TTF/8 | |
| # Page 808 | |
| TC TDISPSET | |
| # (CONTINUE TO QUADGUID) | |
| # ********************************************************************************* | |
| # MAIN GUIDANCE EQUATION | |
| # ********************************************************************************* | |
| # | |
| # AS PUBLISHED -- | |
| # ___ __ ___ __ | |
| # ___ ___ 6(VDG + VG) 12(RDG - RG) | |
| # ACG = ADG + ----------- + ------------ | |
| # TTF (TTF)(TTF) | |
| # AS HERE PROGRAMMED -- | |
| # ___ __ | |
| # 3 (1/4(RDG - RG) ___ __) | |
| # - (------------- + VDG + VG) | |
| # ___ 4 ( TTF/8 ) ___ | |
| # ACG = ---------------------------- + ADG | |
| # TTF/8 | |
| QUADGUID CS TTF/8 | |
| AD LEADTIME # LEADTIME IS A NEGATIVE NUMBER | |
| AD POSMAX # SAFEGUARD THE COMPUTATIONS THAT FOLLOW | |
| TS L # BY FORCING -TTF*LEADTIME > OR = ZERO | |
| CS L | |
| AD L | |
| ZL | |
| EXTEND | |
| DV TTF/8 | |
| TS BUF # - RATIO OF LAG-DIMINISHED TTF TO TTF | |
| EXTEND | |
| SQUARE | |
| TS BUF +1 | |
| AD BUF | |
| XCH BUF +1 # RATIO SQUARED - RATIO | |
| AD BUF +1 | |
| TS MPAC # COEFFICIENT FOR VGU TERM | |
| AD BUF +1 | |
| INDEX FIXLOC | |
| TS 26D # COEFFICIENT FOR RDG-RGU TERM | |
| AD BUF +1 | |
| INDEX FIXLOC | |
| TS 28D # COEFFICIENT FOR VDG TERM | |
| AD BUF | |
| AD POSMAX | |
| # Page 809 | |
| AD BUF +1 | |
| AD BUF +1 | |
| INDEX FIXLOC | |
| TS 30D # COEFFICIENT FOR ADG TERM | |
| CAF ZERO | |
| TS MODE | |
| TC INTPRETX | |
| VXSC PDDL | |
| VGU | |
| 28D | |
| VXSC* PDVL* | |
| VDG,1 | |
| RDG,1 | |
| VSU V/SC | |
| RGU | |
| TTF/8 | |
| VSR2 VXSC | |
| 26D | |
| VAD VAD | |
| V/SC VXSC | |
| TTF/8 | |
| 3/4DP | |
| PDDL VXSC* | |
| 30D | |
| ADG,1 | |
| VAD | |
| AFCCALC1 VXM VSL1 # VERGUID COMES HERE | |
| CG | |
| PDVL V/SC | |
| GDT/2 | |
| GSCALE | |
| BVSU STADR | |
| STORE UNFC/2 # UNFC/2 NEED NOT BE UNITIZED | |
| ABVAL | |
| AFCCALC2 STODL /AFC/ # MAGNITUDE OF AFC FOR THROTTLE | |
| UNFC/2 # VERTICAL COMPONENT | |
| DSQ PDDL | |
| UNFC/2 +2 # OUT-OF-PLANE | |
| DSQ PDDL | |
| HIGHESTF | |
| DDV DSQ | |
| MASS # 2 2 2 | |
| DSU DSU # AMAXHORIZ = SQRT(ATOTAL - A - A ) | |
| BPL DLOAD # 1 0 | |
| AFCCALC3 | |
| ZEROVECS | |
| AFCCALC3 SQRT DAD | |
| UNFC/2 +4 | |
| # Page 810 | |
| BPL BDSU | |
| AFCCLEND | |
| UNFC/2 +4 | |
| STORE UNFC/2 +4 | |
| AFCCLEND EXIT | |
| TC FASTCHNG | |
| CA WCHPHASE # PREPARE FOR PHASE SWITCHING LOGIC | |
| TS WCHPHOLD | |
| INCR FLPASS0 # INCREMENT PASS COUNTER | |
| BRSPOT4 INDEX WCHPHASE | |
| TCF AFTRGUID | |
| # *********************************************************************** | |
| # ERECT GUIDANCE-STABLE MEMBER TRANSFORMATION MATRIX | |
| # *********************************************************************** | |
| CGCALC CAF EBANK5 | |
| TS EBANK | |
| EBANK= TCGIBRAK | |
| EXTEND | |
| INDEX WCHPHASE | |
| INDEX TARGTDEX | |
| DCA TCGFBRAK | |
| INCR BBANK | |
| INCR BBANK | |
| EBANK= TTF/8 | |
| AD TTF/8 | |
| XCH L | |
| AD TTF/8 | |
| CCS A | |
| CCS L | |
| TCF EXTLOGIC | |
| TCF EXTLOGIC | |
| NOOP | |
| TC INTPRETX | |
| VLOAD UNIT | |
| LAND | |
| STODL CG | |
| TTF/8 | |
| DMP* VXSC | |
| GAINBRAK,1 # NUMERO MYSTERIOSO | |
| ANGTERM | |
| VAD | |
| LAND | |
| VSU RTB | |
| R | |
| NORMUNIT | |
| # Page 811 | |
| VXV RTB | |
| LAND | |
| NORMUNIT | |
| STOVL CG +6 # SECOND ROW | |
| CG | |
| VXV VSL1 | |
| CG +6 | |
| STORE CG +14 | |
| EXIT | |
| # (CONTINUE TO EXTLOGIC) | |
| # | |
| # *********************************************************************** | |
| # PREPARE TO EXIT | |
| # *********************************************************************** | |
| # | |
| # DECIDE (1) HOW TO EXIT, AND (2) WHETHER TO SWITCH PHASES | |
| # | |
| EXTLOGIC INDEX WCHPHASE # WCHPHASE = 1 APPRQUAD | |
| CA TENDBRAK # WCHPHASE = 0 BRAKQUAD | |
| AD TTF/8 | |
| EXSPOT1 EXTEND | |
| INDEX WCHPHASE | |
| BZMF WHATEXIT | |
| TC FASTCHNG | |
| CA WCHPHOLD | |
| AD ONE | |
| TS WCHPHASE | |
| CA ZERO | |
| TS FLPASS0 # RESET FLPASS0 | |
| INDEX WCHPHOLD | |
| TCF WHATEXIT | |
| # *********************************************************************** | |
| # ROUTINES FOR EXITING FROM LANDING GUIDANCE | |
| # *********************************************************************** | |
| # | |
| # 1. EXGSUB IS THE RETURN WHEN GUIDSUB IS CALLED BY THE IGNITION ALGORITHM. | |
| # 2. EXBRAK IN THE EXIT USED DURING THE BRAKING PHASE. IN THIS CASE UNIT(R) IS THE WINDOW POINTING VECTOR. | |
| # 3. EXNORM IS THE EXIT USED AT OTHER TIMES DURING THE BURN. | |
| # (EXOVFLOW IS A SUBROUTINE OF EXBRAK AND EXNORM CALLED WHEN OVERFLOW OCCURRED ANYWHERE IN GUIDANCE.) | |
| EXGSUB TC INTPRET # COMPUTE TRIM VELOCITY CORRECTION TERM. | |
| # Page 812 | |
| VLOAD RTB | |
| UNFC/2 | |
| NORMUNIT | |
| VXSC VXSC | |
| ZOOMTIME | |
| TRIMACCL | |
| STORE UNFC/2 | |
| EXIT | |
| CCS NGUIDSUB | |
| TCF GUIDSUB | |
| CCS NIGNLOOP | |
| TCF +3 | |
| TC ALARM | |
| OCT 01412 | |
| +3 TC POSTJUMP | |
| CADR DDUMCALC | |
| EXBRAK TC INTPRET | |
| VLOAD | |
| UNIT/R/ | |
| STORE UNWC/2 | |
| EXIT | |
| TCF STEER? | |
| EXNORM TC INTPRET | |
| VLOAD VSU | |
| LAND | |
| R | |
| RTB | |
| NORMUNIT | |
| STORE UNWC/2 # UNIT(LAND - R) IS TENTATIVE CHOICE | |
| VXV DOT | |
| XNBPIP | |
| CG +6 | |
| EXIT # WITH PROJ IN MPAC 1/8 REAL SIZE | |
| CS MPAC # GET COEFFICIENT FOR CG +14 | |
| AD PROJMAX | |
| AD POSMAX | |
| TS BUF | |
| CS BUF | |
| ADS BUF # RESULT IS 0 IF PROJMAX - PROJ NEGATIVE | |
| CS PROJMIN # GET COEFFICIENT FOR UNIT(LAND - R) | |
| AD MPAC | |
| AD POSMAX | |
| TS BUF +1 | |
| CS BUF +1 | |
| # Page 813 | |
| ADS BUF +1 # RESULT IS 0 IF PROJ - PROJMIN NEGATIVE | |
| CAF FOUR | |
| UNWCLOOP MASK SIX | |
| TS Q | |
| CA EBANK5 | |
| TS EBANK | |
| EBANK= CG | |
| CA BUF | |
| EXTEND | |
| INDEX Q | |
| MP CG +14 | |
| INCR BBANK | |
| EBANK= UNWC/2 | |
| INDEX Q | |
| DXCH UNWC/2 | |
| EXTEND | |
| MP BUF +1 | |
| INDEX Q | |
| DAS UNWC/2 | |
| CCS Q | |
| TCF UNWCLOOP | |
| INCR BBANK | |
| EBANK= PIF | |
| STEER? CA FLAGWRD2 # IF STEERSW DOWN NO OUTPUTS | |
| MASK STEERBIT | |
| EXTEND | |
| BZF RATESTOP | |
| EXVERT CA OVFIND # IF OVERFLOW ANYWHERE IN GUIDANCE | |
| EXTEND # DON'T CALL THROTTLE OR FINDCDUW | |
| BZF +13 | |
| EXOVFLOW TC ALARM # SOUND THE ALARM NON-ABORTIVELY | |
| OCT 01410 | |
| RATESTOP CAF BIT13 # ARE WE IN ATTITUDE-HOLD? | |
| EXTEND | |
| RAND CHAN31 | |
| EXTEND | |
| BZF DISPEXIT # YES | |
| TC BANKCALL # NO: DO A STOPRATE | |
| CADR STOPRATE | |
| TCF DISPEXIT | |
| GDUMP1 TC THROTTLE | |
| # Page 814 | |
| TC INTPRET | |
| CALL | |
| FINDCDUW -2 | |
| EXIT | |
| # (CONTINUE TO DISPEXIT) | |
| # *********************************************************************** | |
| # GUIDANCE LOOP DISPLAYS | |
| # *********************************************************************** | |
| DISPEXIT EXTEND # KILL GROUP 3: DISPLAYS WILL BE | |
| DCA NEG0 # RESTORED BY NEXT GUIDANCE CYCLE. | |
| DXCH -PHASE3 | |
| +3 CS FLAGWRD8 # IF FLUNDISP IS SET, NO DISPLAY THIS PASS | |
| MASK FLUNDBIT | |
| EXTEND | |
| BZF ENDLLJOB # TO PICK UP THE TAG | |
| INDEX WCHPHOLD | |
| TCF WHATDISP | |
| -2 TC PHASCHNG # KILL GROUP 5 | |
| OCT 00035 | |
| P63DISPS CAF V06N63 | |
| DISPCOMN TC BANKCALL | |
| CADR REGODSPR | |
| ENDLLJOB TCF ENDOFJOB | |
| P64DISPS CA TREDES # HAS TREDES REACHED ZERO? | |
| EXTEND | |
| BZF RED-OVER # YES: CLEAR REDESIGNATION FLAG | |
| CS FLAGWRD6 # NO: IS REDFLAG SET? | |
| MASK REDFLBIT | |
| EXTEND | |
| BZF REDES-OK # YES: DO STATIC DISPLAY | |
| CAF V06N64 # OTHERWISE USE FLASHING DISPLAY | |
| TC BANKCALL | |
| CADR REFLASHR | |
| TCF GOTOP00H # TERMINATE | |
| TCF P64CEED # PROCEED PERMIT REDESIGNATIONS | |
| TCF P64DISPS # RECYCLE | |
| # Page 815 | |
| TCF ENDLLJOB | |
| P64CEED CAF ZERO | |
| TS ELINCR1 | |
| TS AZINCR1 | |
| TC UPFLAG # ENABLE REDESIGNATION LOGIC | |
| ADRES REDFLAG | |
| TCF ENDOFJOB | |
| RED-OVER TC DOWNFLAG | |
| ADRES REDFLAG | |
| REDES-OK CAF V06N64 | |
| TCF DISPCOMN | |
| VERTDISP CAF V06N60 | |
| TCF DISPCOMN | |
| # ************************************************************************** | |
| # GUIDANCE FOR P65 | |
| # ************************************************************************** | |
| VERTGUID CCS WCHVERT | |
| TCF P67VERT # POSITIVE NON-ZERO ---> P67 | |
| TCF P66VERT # +0 | |
| # | |
| # THE P65 GUIDANCE EQUATION IS AS FOLLOWS -- | |
| # ____ ___ | |
| # V2FG - VGU | |
| # ACG = ---------- | |
| # TAUVERT | |
| P65VERT TC INTPRET | |
| VLOAD VSU | |
| V2FG | |
| VGU | |
| V/SC GOTO | |
| TAUVERT | |
| AFCCALC1 | |
| # Page 816 | |
| # ********************************************************** | |
| # GUIDANCE FOR P66 | |
| # ********************************************************** | |
| P66VERT TC POSTJUMP | |
| CADR P66VERTA | |
| P67VERT TC PHASCHNG # TERMINATE GROUP 3. | |
| OCT 00003 | |
| TC INTPRET | |
| VLOAD GOTO | |
| V | |
| VHORCOMP | |
| SETLOC P66LOC | |
| BANK | |
| COUNT* $$/F2DPS | |
| RODTASK CAF PRIO22 | |
| TC FINDVAC | |
| EBANK= DVCNTR | |
| 2CADR RODCOMP | |
| TCF TASKOVER | |
| P66VERTA TC PHASCHNG # TERMINATE GROUP 3. | |
| OCT 00003 | |
| CAF 1SEC | |
| TC TWIDDLE | |
| ADRES RODTASK | |
| RODCOMP INHINT | |
| CAF ZERO | |
| XCH RODCOUNT | |
| EXTEND | |
| MP RODSCAL1 | |
| DAS VDGVERT # UPDATE DESIRED ALTITUDE RATE. | |
| EXTEND # SET OLDPIPAX,Y,Z = PIPAX,Y,Z | |
| DCA PIPAX | |
| DXCH OLDPIPAX | |
| DXCH RUPTREG1 # SET RUPTREG1,2,3 = OLDPIPAX,Y,Z | |
| CA PIPAZ | |
| XCH OLDPIPAZ | |
| XCH RUPTREG3 | |
| EXTEND # SNAPSHOT TIME OF PIPA READING. | |
| DCA TIME2 | |
| # Page 817 | |
| DXCH THISTPIP | |
| CA OLDPIPAX | |
| AD PIPATMPX | |
| TS MPAC # MPAC(X) = PIPAX + PIPATMPX | |
| CA OLDPIPAY | |
| AD PIPATMPY | |
| TS MPAC +3 # MPAC(Y) = PIPAY + PIPATMPY | |
| CA OLDPIPAZ | |
| AD PIPATMPZ | |
| TS MPAC +5 # MPAC(Z) = PIPAZ + PIPATMPZ | |
| CS OLDPIPAX | |
| AD TEMX | |
| AD RUPTREG1 | |
| TS DELVROD | |
| CS OLDPIPAY | |
| AD TEMY | |
| AD RUPTREG2 | |
| TS DELVROD +2 | |
| CS OLDPIPAZ | |
| AD TEMZ | |
| AD RUPTREG3 | |
| TS DELVROD +4 | |
| CAF ZERO | |
| TS MPAC +1 # ZERO LO-ORDER MPAC COMPONENTS | |
| TS MPAC +4 | |
| TS MPAC +6 | |
| TS TEMX # ZERO TEMX, TEMY, AND TEMZ SO WE WILL | |
| TS TEMY # KNOW WHEN READACCS CHANGES THEM. | |
| TS TEMZ | |
| CS ONE | |
| TS MODE | |
| TC INTPRET | |
| ITRPNT1 VXSC PDDL # SCALE MPAC TO M/CS *2(-7) AND PUSH (6) | |
| KPIP1 | |
| THISTPIP | |
| DSU | |
| PIPTIME | |
| STORE 30D # 30-31D CONTAINS TIME IN CS SINCE PIPTIME | |
| DDV PDVL # (8) | |
| 4SEC(28) | |
| GDT/2 | |
| VSU VXSC # (6) | |
| VBIAS | |
| VSL2 VAD | |
| V | |
| VAD STADR # (0) | |
| STOVL 24D # STORE UPDATED VELOCITY IN 24-29D | |
| # Page 818 | |
| R | |
| UNIT | |
| STORE 14D | |
| DOT SL1 | |
| 24D | |
| STODL HDOTDISP # UPDATE HDOTDISP RATE FOR NOUN 63. | |
| 30D | |
| SL DMP | |
| 11D | |
| HDOTDISP | |
| DAD DSU | |
| 36D | |
| /LAND/ | |
| STODL HCALC1 # UPDATE HCALC1 FOR NOUN 63. | |
| HDOTDISP | |
| BDSU DDV | |
| VDGVERT | |
| TAUROD | |
| PDVL ABVAL # (2) | |
| GDT/2 | |
| DDV SR2 | |
| GSCALE | |
| STORE 20D | |
| DAD # (0) | |
| PDVL CALL # (2) | |
| UNITX | |
| CDU*NBSM | |
| DOT | |
| 14D | |
| STORE 22D | |
| BDDV STADR # (0) | |
| STOVL /AFC/ | |
| DELVROD | |
| VXSC VAD | |
| KPIP1 | |
| VBIAS | |
| ABVAL PDDL # (2) | |
| THISTPIP | |
| DSU PDDL # (4) | |
| LASTTPIP | |
| THISTPIP | |
| STODL LASTTPIP # (2) | |
| DDV BDDV # (0) | |
| SHFTFACT | |
| PDDL DMP # (2) | |
| FWEIGHT | |
| BIT1H | |
| DDV DDV | |
| MASS | |
| SCALEFAC | |
| # Page 819 | |
| DAD PDDL # (4) | |
| 0D | |
| 20D | |
| DDV DSU # (2) | |
| 22D | |
| DMP DAD | |
| LAG/TAU | |
| /AFC/ | |
| PDDL DDV # (4) | |
| MAXFORCE | |
| MASS | |
| PDDL DDV # (6) | |
| MINFORCE | |
| MASS | |
| PUSH BDSU # (8) | |
| 2D | |
| BMN DLOAD # (6) | |
| AFCSPOT | |
| DLOAD PUSH # (6) | |
| BDSU BPL | |
| 2D | |
| AFCSPOT | |
| DLOAD # (4) | |
| AFCSPOT DLOAD # (2), (4), OR (6) | |
| SETPD # (2) | |
| 2D | |
| STODL /AFC/ # (0) | |
| ITRPNT2 EXIT | |
| DXCH MPAC # MPAC = MEASURED ACCELERATION. | |
| TC BANKCALL | |
| CADR THROTTLE +3 | |
| TC INTPRET | |
| VLOAD # PICK UP UPDATED VELOCITY VECTOR. | |
| 24D | |
| VHORCOMP VSL2 VAD | |
| DELVS | |
| VSR2 PDVL | |
| R | |
| UNIT VXSC | |
| HDOTDISP | |
| VSL1 BVSU | |
| ABVAL | |
| STORE VHORIZ | |
| EXIT | |
| TC BANKCALL # PUT UP V06N60 DISPLAY BUT AVOID PHASCHNG | |
| CADR DISPEXIT +3 | |
| BIT1H OCT 00001 | |
| SHFTFACT 2DEC 1 B-17 | |
| # Page 820 | |
| BIASFACT 2DEC 655.36 B-28 | |
| # ********************************************************************************* | |
| # REDESIGNATOR TRAP | |
| # ********************************************************************************* | |
| BANK 11 | |
| SETLOC F2DPS*11 | |
| BANK | |
| COUNT* $$/F2DPS | |
| PITFALL XCH BANKRUPT | |
| EXTEND | |
| QXCH QRUPT | |
| TC CHECKMM # IF NOT IN P64, NO REASON TO CONTINUE | |
| DEC 64 | |
| TCF RESUME | |
| EXTEND | |
| READ CHAN31 | |
| COM | |
| MASK ALL4BITS | |
| TS ELVIRA | |
| CAF TWO | |
| TS ZERLINA | |
| CAF FIVE | |
| TC TWIDDLE | |
| ADRES REDESMON | |
| TCF RESUME | |
| # REDESIGNATOR MONITOR (INITIATED BY PITFALL) | |
| PREMON1 TS ZERLINA | |
| PREMON2 CAF SEVEN | |
| TC VARDELAY | |
| REDESMON EXTEND | |
| READ 31 | |
| COM | |
| MASK ALL4BITS | |
| XCH ELVIRA | |
| TS L | |
| CCS ELVIRA # DO ANY BITS APPEAR THIS PASS? | |
| TCF PREMON2 # Y: CONTINUE MONITOR | |
| CCS L # N: ANY LAST PASS? | |
| TCF COUNT'EM # Y: COUNT 'EM, RESET RUPT, TERMINATE | |
| # Page 821 | |
| CCS ZERLINA # N: HAS ZERLINA REACHED ZERO YET? | |
| TCF PREMON1 # N: DIMINISH ZERLINA, CONTINUE | |
| RESETRPT CAF BIT12 # Y: RESET RUPT. TERMINATE | |
| EXTEND | |
| WOR CHAN13 | |
| TCF TASKOVER | |
| COUNT'EM CAF BIT13 # ARE WE IN ATTITUDE-HOLD? | |
| EXTEND | |
| RAND CHAN31 | |
| EXTEND | |
| BZF RESETRPT # YES: SKIP REDESIGNATION LOGIC. | |
| CA L # NO. | |
| MASK -AZBIT | |
| CCS A | |
| -AZ CS AZEACH | |
| ADS AZINCR1 | |
| CA L | |
| MASK +AZBIT | |
| CCS A | |
| +AZ CA AZEACH | |
| ADS AZINCR1 | |
| CA L | |
| MASK -ELBIT | |
| CCS A | |
| -EL CS ELEACH | |
| ADS ELINCR1 | |
| CA L | |
| MASK +ELBIT | |
| CCS A | |
| +EL CA ELEACH | |
| ADS ELINCR1 | |
| TCF RESETRPT | |
| # THESE EQUIVALENCES ARE BASED ON GSOP CHAPTER 4, REVISION 16 OF P64LM | |
| +ELBIT = BIT2 # -PITCH | |
| -ELBIT = BIT1 # +PITCH | |
| +AZBIT = BIT5 | |
| -AZBIT = BIT6 | |
| # Page 822 | |
| ALL4BITS OCT 00063 | |
| AZEACH DEC .03491 # 2 DEGREES | |
| ELEACH DEC .00873 # 1/2 DEGREE | |
| # **************************************************************** | |
| # R.O.D. TRAP | |
| # **************************************************************** | |
| BANK 20 | |
| SETLOC RODTRAP | |
| BANK | |
| COUNT* $$/F2DPS # ************************ | |
| DESCBITS MASK BIT7 # COME HERE FROM MARKRUPT CODING WITH BIT | |
| CCS A # 7 OR 6 OF CHANNEL 16 IN A; BIT 7 MEANS | |
| CS TWO # - RATE INCREMENT, BIT 6 + INCREMENT. | |
| AD ONE | |
| ADS RODCOUNT | |
| TCF RESUME # TRAP IS RESET WHEN SWITCH IS RELEASED | |
| BANK 31 | |
| SETLOC F2DPS*31 | |
| BANK | |
| COUNT* $$/F2DPS | |
| # *********************************************************************************** | |
| # DOUBLE PRECISION ROOT FINDER SUBROUTINE (BY ALLAN KLUMPP) | |
| # *********************************************************************************** | |
| # | |
| # N N-1 | |
| # ROOTPSRS FINDS ONE ROOT OF THE POWER SERIES A X + A X + ... + A X + A | |
| # N N-1 1 0 | |
| # USING NEWTON'S METHOD STARTING WITH AN INITIAL GUESS FOR THE ROOT. THE ENTERING DATA MUST BE AS FOLLOWS: | |
| # A SP LOC-3 ADRES FOR REFERENCING PWR COF TABL | |
| # L SP N-1 N IS THE DEGREE OF THE POWER SERIES | |
| # MPAC DP X INITIAL GUESS FOR ROOT | |
| # | |
| # LOC-2N DP A(0) | |
| # ... | |
| # LOC DP A(N) | |
| # LOC+2 SP PRECROOT PREC RQD OF ROOT (AS FRACT OF 1ST GUESS) | |
| # | |
| # Page 823 | |
| # THE DP RESULT IS LEFT IN MPAC UPON EXIT, AND A SP COUNT OF THE ITERATIONS TO CONVERGENCE IS LEFT IN MPAC+2. | |
| # RETURN IS NORMALLY TO LOC(TC ROOTPSRS)+3. IF ROOTPSRS FAILS TO CONVERGE TO IN 8 PASSES, RETURN IS TO LOC+1 AND | |
| # OUTPUTS ARE NOT TO BE TRUSTED. | |
| # | |
| # PRECAUTION: ROOTPSRS MAKES NO CHECKS FOR OVERFLOW OR FOR IMPROPER USAGE. IMPROPER USAGE COULD | |
| # PRECLUDE CONVERGENCE OR REQUIRE EXCESSIVE ITERATIONS. AS A SPECIFIC EXAMPLE, ROOTPSRS FORMS A DERIVATIVE | |
| # COEFFICIENT TABLE BY MULTIPLYING EACH A(I) BY I, WHERE I RANGES FROM 1 TO N. IF AN ELEMENT OF THE DERIVATIVE | |
| # COEFFICIENT TABLE = 1 OR >1 IN MAGNITUDE, ONLY THE EXCESS IS RETAINED. ROOTPSRS MAY CONVERGE ON THE CORRECT | |
| # ROOT NONETHELESS, BUT IT MAY TAKE AN EXCESSIVE NUMBER OF ITERATIONS. THEREFORE THE USER SHOULD RECOGNIZE: | |
| # 1. USER'S RESPONSIBILITY TO ASSUR THAT I X A(I) < 1 IN MAGNITUDE FOR ALL I. | |
| # 2. USER'S RESPONSIBILITY TO ASSURE OVERFLOW WILL NOT OCCUR IN EVALUATING EITHER THE RESIDUAL OR THE DERIVATIVE | |
| # POWER SERIES. THIS OVERFLOW WOULD BE PRODUCED BY SUBROUTINE POWRSERS, CALLED BY ROOTPSRS, AND MIGHT NOT | |
| # PRECLUDE EVENTUAL CONVERGENCE. | |
| # 3. AT PRESENT, ERASABLE LOCATIONS ARE RESERVED ONLY FOR N UP TO 5. AN N IN EXCESS OF 5 WILL PRODUCE CHAOS. | |
| # ALL ERASABLES USED BY ROOTPSRS ARE UNSWITCHED LOCATED IN THE REGION FROM MPAC-33 OCT TO MPAC+7. | |
| # 4. THE ITERATION COUNT RETURNED IN MPAC+2 MAY BE USED TO DETECT ABNORMAL PERFORMANCE. | |
| # STORE ENTERING DATA, INITIALIZE ERASABLES | |
| ROOTPSRS EXTEND | |
| QXCH RETROOT # RETURN ADRES | |
| TS PWRPTR # PWR TABLE POINTER | |
| DXCH MPAC +3 # PWR TABLE ADRES, N-1 | |
| CA DERTABLL | |
| TS DERPTR # DER TABL POINTER | |
| TS MPAC +5 # DER TABL ADRES | |
| CCS MPAC +4 # NO POWER SERIES DEGREE 1 OR LESS | |
| TS MPAC +6 # N-2 | |
| CA ZERO # MODE USED AS ITERATION COUNTER. MODE | |
| TS MODE # MUST BE POS SO ABS WON'T COMP MPAC+3 ETC. | |
| # COMPUTE CRITERION TO STOP ITERATING | |
| EXTEND | |
| DCA MPAC # FETCH ROOT GUESS, KEEPING IT IN MPAC | |
| DXCH ROOTPS # AND IN ROOTPS | |
| INDEX MPAC +3 # PWR TABLE ADRES | |
| CA 5 # PRECROOT TO A | |
| TC SHORTMP # YIELDS DP PRODUCT IN MPAC | |
| TC USPRCADR | |
| CADR ABS # YIELDS ABVAL OF CRITERION ON DX IN MPAC | |
| DXCH MPAC | |
| DXCH DXCRIT # CRITERION | |
| # SET UP DER COF TABL | |
| # Page 824 | |
| EXTEND | |
| INDEX PWRPTR | |
| DCA 3 | |
| DXCH MPAC # A(N) TO MPAC | |
| CA MPAC +4 # N-1 TO A | |
| DERCLOOP TS PWRCNT # LOOP COUNTER | |
| AD ONE | |
| TC DMPNSUB # YIELDS DERCOF = I X A(I) IN MPAC | |
| EXTEND | |
| INDEX PWRPTR | |
| DCA 1 | |
| DXCH MPAC # (I-1) TO MPAC, FETCHING DERCOF | |
| INDEX DERPTR | |
| DXCH 3 # DERCOF TO DER TABLE | |
| CS TWO | |
| ADS PWRPTR # DECREMENT PWR POINTER | |
| CS TWO | |
| ADS DERPTR # DECREMENT DER POINTER | |
| CCS PWRCNT | |
| TCF DERCLOOP | |
| # CONVERGE ON ROOT | |
| ROOTLOOP EXTEND | |
| DCA ROOTPS # FETCH CURRENT ROOT | |
| DXCH MPAC # LEAVE IN MPAC | |
| EXTEND | |
| DCA MPAC +5 # LOAD A, L WITH DER TABL ADRES, N-2 | |
| TC POWRSERS # YIELDS DERIVATIVE IN MPAC | |
| EXTEND | |
| DCA ROOTPS | |
| DXCH MPAC # CURRENT ROOT TO MPAC, FETCHING DERIVATIVE | |
| DXCH BUF # LEAVE DERIVATIVE IN BUF AS DIVISOR | |
| EXTEND | |
| DCA MPAC +3 # LOAD A, L WITH PWR TABL ADRES, N-1 | |
| TC POWRSERS # YIELDS RESIDUAL IN MPAC | |
| TC USPRCADR | |
| CADR DDV/BDDV # YIELDS -DX IN MPAC | |
| EXTEND | |
| DCS MPAC # FETCH DX, LEAVING -DX IN MPAC | |
| DAS ROOTPS # CORRECTED ROOT NOW IN ROOTPS | |
| TC USPRCADR | |
| CADR ABS # YIELDS ABS(DX) IN MPAC | |
| EXTEND | |
| # Page 825 | |
| DCS DXCRIT | |
| DAS MPAC # ABS(DX)-ABS(DXCRIT) IN MPAC | |
| CA MODE | |
| MASK BIT4 # KLUMPP SAYS GIVE UP AFTER EIGHT PASSES | |
| CCS A | |
| BADROOT TC RETROOT | |
| INCR MODE # INCREMENT ITERATION COUNTER | |
| CCS MPAC # TEST HI ORDER DX | |
| TCF ROOTLOOP | |
| TCF TESTLODX | |
| TCF ROOTSTOR | |
| TESTLODX CCS MPAC +1 # TEST LO ORDER DX | |
| TCF ROOTLOOP | |
| TCF ROOTSTOR | |
| TCF ROOTSTOR | |
| ROOTSTOR DXCH ROOTPS | |
| DXCH MPAC | |
| CA MODE | |
| TS MPAC +2 # STORE SP ITERATION COUNT IN MPAC+2 | |
| INDEX RETROOT | |
| TCF 2 | |
| DERTABLL ADRES DERCOFN -3 | |
| # **************************************************************************** | |
| # TRASHY LITTLE SUBROUTINES | |
| # **************************************************************************** | |
| INTPRETX INDEX WCHPHASE # SET X1 ON THE WAY TO THE INTERPRETER | |
| CS TARGTDEX | |
| INDEX FIXLOC | |
| TS X1 | |
| TCF INTPRET | |
| TDISPSET CA TTF/8 | |
| EXTEND | |
| MP TSCALINV | |
| DXCH TTFDISP | |
| CA EBANK5 # TREDES BECOMES ZERO TWO PASSES | |
| TS EBANK # BEFORE TCGFAPPR IS REACHED | |
| EBANK= TCGFAPPR | |
| CA TCGFAPPR | |
| INCR BBANK | |
| INCR BBANK | |
| EBANK= TTF/8 | |
| # Page 826 | |
| AD TTF/8 | |
| EXTEND | |
| MP TREDESCL | |
| AD -DEC103 | |
| AD NEGMAX | |
| TS L | |
| CS L | |
| AD L | |
| AD +DEC99 | |
| AD POSMAX | |
| TS TREDES | |
| CS TREDES | |
| ADS TREDES | |
| TC Q | |
| 1406P00 TC P00DOO | |
| OCT 01406 | |
| 1406ALM TC ALARM | |
| OCT 01406 | |
| TCF RATESTOP | |
| # ********************************************************************* | |
| # SPECIALIZED "PHASCHNG" SUBROUTINE | |
| # ********************************************************************* | |
| EBANK= PHSNAME2 | |
| FASTCHNG CA EBANK3 # SPECIALIZED 'PHASCHNG' ROUTINE | |
| XCH EBANK | |
| DXCH L | |
| TS PHSNAME3 | |
| LXCH EBANK | |
| EBANK= E2DPS | |
| TC A | |
| # ************************************************************************************* | |
| # PARAMETER TABLE INDIRECT ADDRESSES | |
| # ************************************************************************************* | |
| RDG = RBRFG | |
| VDG = VBRFG | |
| ADG = ABRFG | |
| VDG2TTF = VBRFG* | |
| ADG2TTF = ABRFG* | |
| JDG2TTF = JBRFG* | |
| # ************************************************************************************* | |
| # LUNAR LANDING CONSTANTS | |
| # ************************************************************************************* | |
| # Page 827 | |
| TABLTTFL ADRES TABLTTF +3 # ADDRESS FOR REFERENCING TTF TABLE | |
| TTFSCALE = BIT12 | |
| TSCALINV = BIT4 | |
| -DEC103 DEC -103 | |
| +DEC99 DEC +99 | |
| TREDESCL DEC -.08 | |
| 180DEGS DEC +180 | |
| 1/2DEG DEC +.00278 | |
| PROJMAX DEC .42262 B-3 # SIN(25')/8 TO COMPARE WITH PROJ | |
| PROJMIN DEC .25882 B-3 # SIN(15')/8 TO COMPARE WITH PROJ | |
| V06N63 VN 0663 # P63 | |
| V06N64 VN 0664 # P64 | |
| V06N60 VN 0660 # P65, P66, P67 | |
| BANK 22 | |
| SETLOC LANDCNST | |
| BANK | |
| COUNT* $$/F2DPS | |
| HIGHESTF 2DEC 4.34546769 B-12 | |
| GSCALE 2DEC 100 B-11 | |
| 3/8DP 2DEC .375 | |
| 3/4DP 2DEC .750 | |
| DEPRCRIT 2DEC -.02 B-1 | |
| # Page 828 | |
| # ************************************************************************** | |
| # ************************************************************************** |