Raw File
P12.agc
### FILE="Main.annotation"
## Copyright:   Public domain.
## Filename:    P12.agc
## Purpose:     The main source file for Luminary revision 069.
##              It is part of the source code for the original release
##              of the flight software for the Lunar Module's (LM) Apollo
##              Guidance Computer (AGC) for Apollo 10. The actual flown
##              version was Luminary 69 revision 2, which included a
##              newer lunar gravity model and only affected module 2.
##              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. 839-843
## Assembler:   yaYUL
## Contact:     Ron Burkey <info@sandroid.org>.
## Website:     www.ibiblio.org/apollo/index.html
## Mod history: 2016-12-13 MAS  Created from Luminary 99.
##              2016-12-18 MAS  Updated from comment-proofed Luminary 99 version.
##              2017-01-06 RRB  Updated for Luminary 69.
##              2017-01-07 HG   Fix interpretive operation STORE -> STODL
##                                               operand   FLP1 -> FLPI
##              2017-01-23 HG   Fix interpretive operation STOVL -> STODL
##		2017-01-28 RSB	Proofed comment text using octopus/prooferComments
##				and fixed errors found.

## Page 839
                BANK    24
                SETLOC  P12
                BANK

                EBANK=  DVCNTR
                COUNT*  $$/P12

P12LM           TC      PHASCHNG
                OCT     04024

                TC      BANKCALL
                CADR    R02BOTH         # CHECK THE STATUS OF THE IMU.

                TC      UPFLAG
                ADRES   MUNFLAG

                TC      UPFLAG          # INSURE 4-JET TRANSLATION CAPABILITY.
                ADRES   ACC4-2FL

                TC      UPFLAG          # PREVENT R10 FROM ISSUING CROSS-POINTER
                ADRES   R10FLAG         # OUTPUTS.

                TC      DOWNFLAG        # CLEAR RENDEZVOUS FLAG  FOR P22
                ADRES   RNDVZFLG

                CAF     THRESH2         # INITIALIZE DVMON
                TS      DVTHRUSH
                CAF     FOUR
                TS      DVCNTR

                CA      ZERO
                TS      TRKMKCNT        # SHOW THAT R29 DOWNLINK DATA ISN'T READY.
                CAF     V06N33A
                TC      BANKCALL        # FLASH TIG
                CADR    GOFLASH
                TCF     GOTOPOOH
                TCF     +2              # PROCEED
                TCF     -5              # ENTER

                TC      PHASCHNG
                OCT     04024

                TC      INTPRET
                CALL                    # INITIALIZE WM AND /LAND/
                        GUIDINIT
                SET     CALL
                        FLPI
                        P12INIT

P12LMB          DLOAD
                        (TGO)A          # SET TGO TO AN INITIAL NOMINAL VALUE.
## Page 840
                STODL   TGO
                        TIG
                STCALL  TDEC1
                        LEMPREC         # ROTATE THE STATE VECTORS TO THE
                VLOAD   MXV             # IGNITION TIME.
                        VATT
                        REFSMMAT
                VSL1
                STOVL   V1S             # COMPUTE V1S = VEL(TIG)*2(-7) M/CS.
                        RATT
                MXV     VSL6
                        REFSMMAT
                STCALL  R               # COMPUTE R = POS(TIG)*2(-24) M.
                        MUNGRAV         # COMPUTE GDT1/2(TIG)*2(-7)M/CS.
                VLOAD   UNIT
                        R
                STCALL  UNIT/R/         # COMPUTE UNIT/R/ FOR YCOMP.
                        YCOMP
                SR      DCOMP
                        5D
                STODL   XRANGE          # INITIALIZE XRANGE FOR NOUN 76.
                        (APO)
                STORE   APO             # INITIALIZE APO FOR NOUN 76.
                EXIT

                TC      PHASCHNG
                OCT     04024

NEWLOAD         CAF     V06N76          # FLASH CROSS-RANGE AND APOLUNE VALUES.
                TC      BANKCALL
                CADR    GOFLASH
                TCF     GOTOPOOH
                TCF     +2              # PROCEED
                TCF     NEWLOAD         # ENTER NEW DATA.

                CAF     P12ADRES
                TS      WHICH

                TC      PHASCHNG
                OCT     04024

                TC      INTPRET
                DLOAD   SL
                        XRANGE
                        5D
                DAD
                        Y
                STODL   YCO
                        APO		# RA = APO + /LAND/
                SL
## Page 841
                        5D
                DAD     PUSH            # RA*2(-24) IN MPAC AND PDL
                        /LAND/
                DMP     PDDL            # 2 RA MU*2(-62) IN PDL, LOAD RA
                        MUM(-37)
                DAD     DMP             # (RA+RP)*2(-24)
                        RCO             # RP(RA+RP)*2(-48)
                        RCO
                BDDV    SQRT            # 2 MU RA/RP(RA+RP)*2(-14)=ZDOTD(2)
                STADR
                STOVL   ZDOTD
                        UNIT/R/
                VXSC    VAD
                        49FPS
                        V1S
                STORE   V               # V(TIPOVER) = V(IGN) + 57FPS (UNIT/R/)
                SETGO
                        FLVR
                        ASCENT
P12RET          DLOAD
                        ATP             # ATP(2)*2(18)
                DSQ     PDDL
                        ATY             # ATY(2)*2(18)
                DSQ     DAD
                BZE     SQRT
                        YAWDUN
                SL1     BDDV
                        ATY
                ARCSIN
YAWDUN          STOVL   YAW
                        UNFC/2
                UNIT    DOT
                        UNIT/R/
                SL1     ARCCOS
                DCOMP
                STORE   PITCH
                EXIT
                TC      PHASCHNG
                OCT     04024

                TC      DOWNFLAG
                ADRES   FLPI

                INHINT
                TC      IBNKCALL
                CADR    PFLITEDB
                RELINT

                TC      POSTJUMP
                CADR    BURNBABY
## Page 842
P12INIT         DLOAD                   # INITIALIZE ENGINE DATA.  USED FOR P12 AND
                        (1/DV)A         # P71.
                STORE   1/DV3
                STORE   1/DV2
                STODL   1/DV1
                        (AT)A
                STODL   AT
                        (TBUP)A
                STODL   TBUP
                        ATDECAY
                DCOMP   SL
                        11D
                STORE   TTO
                SLOAD   DCOMP
                        APSVEX
                SR2
                STORE   VE
                BOFF    RVQ
                        FLAP
                        COMMINIT
COMMINIT        DLOAD   DAD             # INITIALIZE TARGET DATA. USED BY P12, P70
                        HINJECT         # AND P71 IF IT DOES NOT FOLLOW P70.
                        /LAND/
                STODL   RCO
                        HI6ZEROS
                STORE   TXO
                STORE   YCO
                STORE   RDOTD
                STOVL   YDOTD
                        VRECTCSM
                VXV     MXV
                        RRECTCSM
                        REFSMMAT
                UNIT
                STODL   QAXIS
                        ABTVINJ2        # TENTATIVELY STORE LOW INJECTION VELOCITY
                STORE   ZDOTD
                BON
                        FLPI
                        LOVEL
                SLOAD   DSU
                        TBRKPNT         # TBRKPNT-TGO
                        TGO
                BMN     DLOAD           # IF TGO>TBRKPNT,LOW VINJECT IS OK;RETURN
                        LOVEL
                        ABTVINJ1	# FOR TGO.TBRKPNT USE HI VELOCITY.
                STORE   ZDOTD
LOVEL           RVQ
GUIDINIT        STQ     SETPD
                        TEMPR60
## Page 843
                        0D
                VLOAD   PUSH
                        UNITZ
                RTB     PUSH
                        LOADTIME
                SLOAD   CALL
                        (APO)
                        RP-TO-R
                MXV     VXSC
                        REFSMMAT
                        MOONRATE
                STOVL   WM
                        RLS
                ABVAL   SL3
                STCALL  /LAND/
                        TEMPR60

P12ADRES        REMADR  P12TABLE        # NOT IN SAME BANK.
49FPS           2DEC    .149352 B-6     # EXPECTED RDOT AT TIPOVER

(APO)           2DEC    55597.5 B-29    # 30 N.M. EXPRESSED IN METERS.
back to top