https://github.com/virtualagc/virtualagc
Raw File
Tip revision: 4e5d304eb7cd5589b924ffb8b423b6f15511b35d authored by Ron Burkey on 20 October 2018, 17:47:00 UTC
The sample Block I AGC program TRIVIUM, found at the very end of one of
Tip revision: 4e5d304
P70-P71.agc
### FILE="Main.annotation"
## Copyright:   Public domain.
## Filename:    P70-P71.agc
## Purpose:     A section of Luminary revision 116.
##              It is part of the source code for the Lunar Module's (LM)
##              Apollo Guidance Computer (AGC) for Apollo 12.
##              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. 823-830
## Assembler:   yaYUL
## Contact:     Ron Burkey <info@sandroid.org>.
## Website:     www.ibiblio.org/apollo/index.html
## Mod history: 2017-01-22 MAS  Created from Luminary 99.
##              2017-03-10 HG   Transcribed
##              2017-03-14 RSB  Proofed comment text via 3-way diff vs
##                              Luminary 99 and 131.
##              2017-03-19 HG   Fix operand ROO --> RCO

## Page 823
                BANK            21
                SETLOC          R11
                BANK

                EBANK=          DVCNTR
                COUNT*          $$/R11

R10,R11         CS              FLAGWRD7                        # IS SERVICER STILL RUNNING?
                MASK            AVEGFBIT
                CCS             A
                TCF             TASKOVER                        # LET AVGEND TAKE CARE OF GROUP 2.
                CCS             PIPCTR
                TCF             +2
                TCF             LRHTASK                         # LAST PASS. CALL LRHTASK.
## Note: The operand "LRHTASK" above is circled with a red pen.
   +2           TS              PIPCTR1

PIPCTR1         =               LADQSAVE
PIPCTR          =               PHSPRDT2
                CAF             OCT31
                TC              TWIDDLE
                ADRES           R10,R11
R10,R11A        CAF             HFLSHBIT
FLASHH?         MASK            FLGWRD11
                EXTEND
                BZF             FLASHV?                         # H FLASH OFF, SO LEAVE ALONE

                CA              HLITE
                TS              L
                TC              FLIP                            # FLIP H LITE

FLASHV?         CA              VFLSHBIT                        # VFLASHBIT MUST BE BIT 2.
                MASK            FLGWRD11
                EXTEND
                BZF             10,11                           # V FLASH OFF

                CA              VLITE
                TS              L
                TC              FLIP                            # FLIP V LITE


10,11           CA              FLAGWRD9                        # IS THE LETABORT FLAG SET ?
                MASK            LETABBIT
                EXTEND
                BZF             LANDISP                         # NO.  PROCEED TO R10.

P71NOW?         CS              MODREG                          # YES.  ARE WE IN P71 NOW?
                AD              1DEC71
                EXTEND
                BZF             LANDISP                         # YES.  PROCEED TO R10.

## Page 824
                EXTEND                                          # NO. IS AN ABORT STAGE COMMANDED?
                READ            CHAN30
                COM
                TS              L
                MASK            BIT4
                CCS             A
                TCF             P71A                            # YES.

P70NOW?         CS              MODREG                          # NO.  ARE WE IN P70 NOW?
                AD              1DEC70
                EXTEND
                BZF             LANDISP                         # YES.  PROCEED TO R10.

                CA              L                               # NO.  IS AN ABORT COMMANDED?
                MASK            BIT1
                CCS             A
                TCF             P70A                            # YES.
                TCF             LANDISP                         # NO.  PROCEED TO R10.

                COUNT*          $$/P70

P70             TC              LEGAL?
P70A            CS              ZERO
                TCF             +3
P71             TC              LEGAL?
P71A            CAF             TWO
   +3           TS              Q
                INHINT
                EXTEND
                DCA             CNTABTAD
                DTCB

                EBANK=          DVCNTR
CNTABTAD        2CADR           CONTABRT
1DEC70          DEC             70
1DEC71          DEC             71

                BANK            05
                SETLOC          ABORTS1
                BANK
                COUNT*          $$/P70

CONTABRT        CAF             ABRTJADR
                TS              BRUPT
                RESUME

ABRTJADR        TCF             ABRTJASK

ABRTJASK        CAF             OCTAL27

## Page 825
                AD              Q
                TS              L
                COM
                DXCH            -PHASE4
                INDEX           Q
                CAF             MODE70
                TS              MODREG

                TS              DISPDEX                         # INSURE DISPDEX IS POSITIVE.

                CCS             Q                               # SET APSFLAG IF P71.
                CS              FLGWRD10                        # SET APSFLAG PRIOR TO THE ENEMA.
                MASK            APSFLBIT
                ADS             FLGWRD10
                CS              DAPBITS                         # DAPBITS = OCT 40640 = BITS 6,8,9,15
                MASK            DAPBOOLS                        # RESET ULLAGE,DRIFT,XOVRIINH,AND PULSES
                TS              DAPBOOLS

                CAF             1DEGDB                          # INSURE DAP DEADBAND IS SET TO 1 DEGREE
                TS              DB

                CS              FLAGWRD5                        # SET ENGONFLG.
                MASK            ENGONBIT
                ADS             FLAGWRD5

                CS              PRIO30                          # INSURE THAT THE ENGINE IS ON, IF ARMED.
                EXTEND
                RAND            DSALMOUT
                AD              BIT13
                EXTEND
                WRITE           DSALMOUT

                CAF             LRBYBIT                         # TERMINATE R12.
                TS              FLGWRD11

                CS              FLAGWRD0                        # SET R10FLAG TO SUPPRESS OUTPUTS TO THE
                MASK            R10FLBIT                        # CROSS-POINTER DISPLAY.
                ADS             FLAGWRD0                        # THE FOLLOWING ENEMA WILL REMOVE THE
                                                                # DISPLAY INERTIAL DATA OUTBIT.

                EXTEND                                          # LOAD TEVENT FOR THE DOWNLINK.
                DCA             TIME2
                DXCH            TEVENT

                EXTEND
                DCA             SVEXITAD
                DXCH            AVGEXIT

                TC              ABTKLEAN                        # KILL GROUPS 1,3, AND 6.

## Page 826
                CAF             THREE                           # SET UP 4.3SPOT FOR GOABORT
                TS              L
                COM
                DXCH            -PHASE4

                TC              POSTJUMP
                CADR            ENEMA

                EBANK=          DVCNTR
SVEXITAD        2CADR           SERVEXIT
MODE70          DEC             70
OCTAL27         OCT             27
MODE71          DEC             71

DAPBITS         OCT             40640

1DEGDB          OCT             00554
                BANK            32
                SETLOC          ABORTS
                BANK

                COUNT*          $$/P70

GOABORT         CAF             FOUR
                TS              DVCNTR

                CAF             WHICHADR
                TS              WHICH

                TC              INTPRET
                CLEAR           CLEAR
                                FLRCS
                                FLUNDISP
                CLEAR           SET
                                IDLEFLAG
                                ACC4-2FL
                SET             CALL
                                P7071FLG
                                INITCDUW
## Note: Above interpretive operand "INITCDUW" is circled with a black pen.
                EXIT

                TC              CHECKMM
70DEC           DEC             70
                TCF             P71RET

P70INIT         TC              INTPRET
                CALL
                                TGOCOMP
                DLOAD           SL

## Page 827
                                MDOTDPS
                                4D
                BDDV
                                MASS
                STODL           TBUP
                                MASS
                DDV             SR1
                                K(1/DV)
                STORE           1/DV1
                STORE           1/DV2
                STORE           1/DV3
                BDDV
                                K(AT)
                STODL           AT
                                100PCTTO
                STORE           TTO
                SLOAD           DCOMP
                                DPSVEX
                SR2
                STCALL          VE
                                COMMINIT
INJTARG         DLOAD
                                ABTRDOT
                STCALL          RDOTD                           # INITIALIZE RDOTD.
                                YCOMP                           # COMPUTE Y
                ABS             DSU
                                YLIM                            # /Y/-DYMAX
                BMN             SIGN                            # IF <0, XR<.5DEG, LEAVE YCO AT 0
                                YOK                             # IF >0, FIX SIGN OF DEFICIT, THIS IS YCO.
                                Y
                STORE           YCO
YOK             DLOAD           DSU
                                YCO
                                Y
                SR
                                5D
                STORE           XRANGE
                SET             CALL
                                FLVR
                                THETCOMP
                DSU             BPL
                                THETCRIT
                                +4
                VLOAD           GOTO
                                J1PARM
                                +3
    +4          VLOAD
                                J2PARM
    +3          STODL           JPARM
                                RCO

## Page 828
                STORE           RP
                SET             EXIT
                                ROTFLAG

UPTHROT         TC              THROTUP

                TC              PHASCHNG
                OCT             04024

                TC              UPFLAG
                ADRES           FLAP

UPTHROT1        TC              BANKCALL                        # VERIFY THAT THE PANEL SWITCHES
                CADR            P40AUTO                         # ARE PROPERLY SET.

                TC              THROTUP

                CAF             PRIO17                          # LET SERVICER FINISH BEFORE CONNECTING
                TC              PRIOCHNG                        #     ASCENT GUIDANCE EQUATIONS.

                EXTEND
                DCA             ATMAGAD
                DXCH            AVGEXIT

GRP4OFF         TC              PHASCHNG                        # TERMINATE USE OF GROUP 4.
                OCT             00004

                TCF             ENDOFJOB

P71RET          TC              DOWNFLAG
                ADRES           LETABORT

                CAF             THRESH2                         # SET DVMON THRESHOLD TO THE ASCENT VALUE.
                TS              DVTHRUSH

                TC              INTPRET
                CALL
                                P12INIT
                BON             CALL
                                FLAP
                                OLDTIME
                                TGOCOMP                         # IF FLAP=0, TGO=T-TIG
                GOTO
                                INJTARG
OLDTIME         DLOAD           SL1                             # IF FLAP=1,TGO=2 TGO
                                TGO
                STORE           TGO1
                EXIT

                TC              PHASCHNG

## Page 829
                OCT             04024

                EXTEND
                DCA             TGO1
                DXCH            TGO
                TCF             UPTHROT1

TGO1            =               VGBODY
# ************************************************************************

                BANK            21
                SETLOC          R11
                BANK

                COUNT*          $$/P70

LEGAL?          CS              MMNUMBER                        # IS THE DESIRED PGM ALREADY IN PROGRESS?
                AD              MODREG
                EXTEND
                BZF             ABORTALM

                CS              FLAGWRD9                        # ARE THE ABORTS ENABLED?
                MASK            LETABBIT
                CCS             A
                TCF             ABORTALM

                CA              FLAGWRD7                        # IS SERVICER ON THE AIR?
                MASK            AVEGFBIT
                CCS             A
                TC              Q                               # YES.  ALL IS WELL.
ABORTALM        TC              FALTON
                TC              RELDSP
                TC              POSTJUMP
                CADR            PINBRNCH

                BANK            32
                SETLOC          ABORTS
                BANK

                COUNT*          $$/P70

# ************************************************************************

TGOCOMP         RTB             DSU
                                LOADTIME
                                TIG
                SL
                                11D
                STORE           TGO
                RVQ

## Page 830
# ************************************************************************

THROTUP         CAF             BIT13
                TS              THRUST
                CAF             BIT4
                EXTEND
                WOR             CHAN14
                TC              Q

# ************************************************************************

10SECS          2DEC            1000
HINJECT         2DEC            18288           B-24            # 60,000 FEET EXPRESSED IN METERS.
(TGO)A          2DEC            37000           B-17
K(AT)           2DEC            .02                             # SCALING CONSTANT
WHICHADR        REMADR          ABRTABLE

# ************************************************************************

                EBANK=          DVCNTR
ATMAGAD         2CADR           ATMAG
back to top