Raw File
THRUST_MAGNITUDE_FILTER.agc
### FILE="Main.annotation"
## Copyright:   Public domain.
## Filename:    THRUST_MAGNITUDE_FILTER.agc
## Purpose:     A section of Sunburst revision 37, or Shepatin revision 0.
##              It is part of an early development version of the software
##              for Apollo Guidance Computer (AGC) on the unmanned Lunar
##              Module (LM) flight Apollo 5. Sunburst 37 was the program
##              upon which Don Eyles's offline development program Shepatin
##              was based; the listing herein transcribed was actually for
##              the equivalent revision 0 of Shepatin.
##              This file is intended to be a faithful transcription, except
##              that the code format has been changed to conform to the
##              requirements of the yaYUL assembler rather than the
##              original YUL assembler.
## Reference:   pp. 862-863
## Assembler:   yaYUL
## Contact:     Ron Burkey <info@sandroid.org>.
## Website:     www.ibiblio.org/apollo/index.html
## Mod history: 2017-05-24 MAS  Created from Sunburst 120.
##              2017-06-08 HG   Transcribed
##		2017-06-23 RSB	Proofed comment text with
##				octopus/ProoferComments.

## Page 862
# PROGRAM NAME - ATMAG

# MODIFICATION BY - BERMAN AND CATTANACH

# FUNCTIONAL DESCRIPTION -

#     THE THRUST MAGNITUDE FILTER CONVERTS ABDELV TO M/CS, INVERTS AND COMBINES IT WITH TWO PRECEDING
# INPUTS TO PRODUCE THE INVERTED EXHAUST VELOCITY, BURN UP TIME, AND ANTICIPATED THRUST ACCELERATION FOR
# THE NEXT TIME INCREMENT.  THRUST MAGNITUDE FILTER IS BYPASSED UNTIL AFTER THE MAIN ENGINE GOES ON.

# CALLING SEQUENCE - ATMAG IS ENTERED BY EXTEND                AND        EXTEND
#                                       DCA     ATMAGAD                   DCA     ATMAG4
#                                       DXCH    AVGEXIT                   DXCH    AVGEXIT
# NORMAL EXIT - FROM ATMAG BY GOTO

#                                   ASCENT

# OUTPUT - INVERTED EXHAUST VELOCITY, BURN UP TIME, AND ANTICIPATED THRUST ACCELERATION

# ERASABLE INITIALIZATION REQUIRED - THIS IS DONE BY PRE-APS PROGRAMS

# DEBRIS - ABDVCONV, 1/DV1, 1/DV2, 1/VE, TBUP, AT.

# ALARM OR ABORT EXIT MODES -

# SUBROUTINES CALLED - NONE

                BANK            32

                EBANK=          TCO                     # EBANK4

ATMAG           TC              INTPRET
                DLOAD           DSU
                                ABDVCONV                # ABDVCONV (PIPA READING CONVERTED TO
                                DVMIN                   # M/CS) IS INVERTED AND SCALED AT 2**-5
                BMN             SLOAD                   # AS INPUT TO FILTER
                                FILTEND
                                BIT6H

                DDV             EXIT
                                ABDVCONV

                DXCH            MPAC
                DXCH            1/DV2
                DXCH            1/DV1
                DXCH            MPAC                    # MPAC=1/DV0*2**-5

                TC              INTPRET
                PUSH            DSU                     # PUSH DOWN 1/DVO			2

                                1/DV2                   # MPAC = (1/DV0-1/DV2)*2**-5
                PUSH            SLR			#					4
                                8D                      # MPAC = (1/DV0-1/DV2)*2**3 = 1/VE*2**4

## Page 863
                STODL           1/VE                    # INVERTED EXHAUST VELOCITY              2

                SR1             DAD                     # MPAC = (1/DV0-1/DV2)*2**-6
                                1/DV1                   # MPAC = (1/DV0+2/DV1-1/DV2)*2**-6
                SR1R            DAD                     # MPAC = (5/DV0+2/DV1-1/DV2)*2**-7       0
                DMP             DMP

                                DP2/3H                  # (5/6DV0+1/3DV1-1/6DV2)*2**-5
                                DTASC1                  # MPAC = (1/DV3*2**-5) * (DELTAT*2**-8) =
                                                        #        DELTAT/DV3*2**-13
                DDV
                                1/VE                    # (TBUP/VE*2**-13)/(1/VE*2**4)=TBUP*2**-17
                STODL           TBUP                    # BURN UP TIME

                                1/DV1                   # MPAC = 2**-5/DV1
                SR1             DSU                     # MPAC = 2**-6/DV1
                                00D                     # MPAC = (-2/DV0+1/DV1)*2**-6
                SR1             DAD                     # MPAC = (-2/DV0+1/DV1)*2**-7
                                1/DV2                   # MPAC = (-2/DV0+1/DV1+4/DV2)*2**-7

                DMP             DMP                     # MPAC = (-2/3DV0+1/3DV1+4/3DV2)*2**-6 =
                                DP2/3H                  #        1/DV3*2**-6
                                DTASC1                  # MPAC = (1/DV3*2**-6)*(DELTAT*2**-8) =
                                                        # DELTA/DV3*2**-14 = 1/AT*2**-14
                BDDV
                                D1/32                   # MPAC = 2**-5/(1/AT*2**-14) = AT*2**9
                STORE           AT                      # ANTICIPATED THRUST ACCELERATION

FILTEND         GOTO
                                ASCENT

BIT6H           OCT             40
DVMIN           2DEC            .03B-5
DTASC1          2DEC            200B-8
back to top