https://github.com/virtualagc/virtualagc
Revision 3577d0b1de1ac147c1710524517c563b2bfe231c authored by Ronald Burkey on 30 May 2021, 19:14:00 UTC, committed by GitHub on 30 May 2021, 19:14:00 UTC
Issue 1143: Fix various symbol name and other minor typos
2 parent s bc21d6b + 8d274f6
Raw File
Tip revision: 3577d0b1de1ac147c1710524517c563b2bfe231c authored by Ronald Burkey on 30 May 2021, 19:14:00 UTC
Merge pull request #1147 from smithery1/Issue/1143
Tip revision: 3577d0b
BURN,_BABY,_BURN_--_MASTER_IGNITION_ROUTINE.agc
### FILE="Main.annotation"
## Copyright:   Public domain.
## Filename:    BURN,_BABY,_BURN_--_MASTER_IGNITION_ROUTINE.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. 739-758
## 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-15 MAS  Updated from comment-proofed Luminary 99 version.
##              2017-01-20 HG   Transcribed
##              2017-01-22 HG   Shift pseudo label +3 to column 2
##		2017-01-28 RSB	Proofed comment text using octopus/prooferComments
##				and fixed errors found.
##		2017-03-16 RSB	Comment-text fixes identified in 5-way
##				side-by-side diff of Luminary 69/99/116/131/210.

## Page 739
## <br><br>
## At the get-together of the AGC developers celebrating the 40th anniversary
## of the first moonwalk, Don Eyles (one of the authors of this routine along
## with Peter Adler) related a little interesting history behind the
## naming of the routine to one of us.<br>
## <br>
## It traces back to 1965 and the Los Angeles riots, and was inspired
## by disc jockey extraordinaire and radio station owner Magnificent Montague.
## Magnificent Montague used the phrase "Burn, baby! BURN!" when spinning the
## hottest new records. Magnificent Montague was the charismatic voice of
## soul music in Chicago, New York, and Los Angeles from the mid-1950s to
## the mid-1960s.

                BANK            36
                SETLOC          P40S
                BANK
                EBANK=          WHICH
                COUNT*          $$/P40
#     THE MASTER IGNITION ROUTINE IS DESIGNED FOR USE BY THE FOLLOWING LEM PROGRAMS:  P12, P40, P42, P61, P63.
# IT PERFORMS ALL FUNCTIONS IMMEDIATELY ASSOCIATED WITH APS OR DPS IGNITION:  IN PARTICULAR, EVERYTHING LYING
# BETWEEN THE PRE-IGNITION TIME CHECK -- ARE WE WITHIN 45 SECONDS OF TIG? -- AND TIG + 26 SECONDS, WHEN DPS
# PROGRAMS THROTTLE UP.

#     VARIATIONS AMONG PROGRAMS ARE ACCOMODATED BY MEANS OF TABLES CONTAINING CONSTANTS (FOR AVEGEXIT, FOR
# WAITLIST, FOR PINBALL) AND TCF INSTRUCTIONS.   USERS PLACE THE ADRES OF THE HEAD OF THE APPROPRIATE TABLE
# (OF P61TABLE FOR P61LM, FOR EXAMPLE) IN ERASABLE REGISTER 'WHICH' (E4).   THE IGNITION ROUTINE THEN INDEXES BY
# WHICH TO OBTAIN OR EXECUTE THE PROPER TABLE ENTRY.   THE IGNITION ROUTINE IS INITIATED BY A TCF BURNBABY,
# THROUGH BANKJUMP IF NECESSARY.   THERE IS NO RETURN.

#     THE MASTER IGNITION ROUTINE WAS CONCEIVED AND EXECUTED, AND (NOTA BENE) IS MAINTAINED BY ADLER AND EYLES.


#                                        HONI SOIT QUI MAL Y PENSE


#                                 ****************************************
#                                 TABLES FOR THE IGNITION ROUTINE
#                                 ****************************************

#                                             NOLI SE TANGERE

P12TABLE        VN              0674                    # (0)
                VN              0674                    # (1)
                TCF             COMFAIL3                # (2)
                TCF             GOCUTOFF                # (3)
                TCF             TASKOVER                # (4)
                TCF             P12SPOT                 # (5)
                DEC             0                       # (6)       NO ULLAGE
                EBANK=          WHICH
                2CADR           SERVEXIT                # (7)
                TCF             DISPCHNG                # (11)
                TCF             WAITABIT                # (12)
                TCF             P12IGN                  # (13)



P40TABLE        VN              0640                    # (0)
                VN              0640                    # (1)
                TCF             COMFAIL4                # (2)
                TCF             GOPOST                  # (3)
                TCF             P40ZOOM                 # (4)
                TCF             P40SPOT                 # (5)

## Page 740
                DEC             2240                    # (6)
                EBANK=          OMEGAQ
                2CADR           STEERING                # (7)
                TCF             P40SJUNK                # (11)
                TCF             WAITABIT                # (12)
                TCF             P40IGN                  # (13)



P41TABLE        TCF             P41SPOT                 # (5)
                DEC             -1                      # (6)
                EBANK=          OMEGAQ
                2CADR           CALCN85                 # (7)

                TCF             TASKOVER                # (11)
                TCF             TIGTASK                 # (12)



P42TABLE        VN              0640                    # (0)
                VN              0640                    # (1)
                TCF             COMFAIL4                # (2)
                TCF             GOPOST                  # (3)
                TCF             TASKOVER                # (4)
                TCF             P42SPOT                 # (5)
                DEC             2640                    # (6)
                EBANK=          OMEGAQ
                2CADR           STEERING                # (7)
                TCF             P40SJUNK                # (11)
                TCF             WAITABIT                # (12)
                TCF             P42IGN                  # (13)



P63TABLE        VN              0662                    # (0)
                VN              0661                    # (1)
                TCF             COMFAIL3                # (2)
                TCF             V99RECYC                # (3)
                TCF             P63ZOOM                 # (4)
                TCF             P63SPOT                 # (5)
                DEC             2240                    # (6)
                EBANK=          WHICH
                2CADR           SERVEXIT                # (7)
                TCF             DISPCHNG                # (11)
                TCF             WAITABIT                # (12)
                TCF             P63IGN                  # (13)

## Page 741

ABRTABLE        VN              0663                    # (0)
                NOOP                                    # (1)
                TCF             COMFAIL3                # (2)
                TCF             GOCUTOFF                # (3)
                TCF             TASKOVER                # (4)
                NOOP                                    # (5)
                NOOP                                    # (6)
                NOOP                                    # (7)
                NOOP
                TCF             DISPCHNG                # (11)
                TCF             WAITABIT                # (12)
                TCF             ABRTIGN                 # (13)



#               ****************************************
#               GENERAL PURPOSE IGNITION ROUTINES
#               ****************************************

BURNBABY        TC              PHASCHNG                # GROUP 4 RESTARTS HERE
                OCT             04024

                CAF             ZERO                    # EXTIRPATE JUNK LEFT IN DVTOTAL
                TS              DVTOTAL
                TS              DVTOTAL         +1

                TC              BANKCALL                # P40AUTO MUST BE BANKCALLED EVEN FROM ITS
                CADR            P40AUTO                 #   OWN BANK TO SET UP RETURN PROPERLY

B*RNB*B*        EXTEND
                DCA             TIG                     # STORE NOMINAL TIG FOR OBLATENESS COMP.
                DXCH            GOBLTIME                # AND FOR P70 OR P71.

                INHINT
                TC              IBNKCALL
                CADR            ENGINOF3
                RELINT

                INDEX           WHICH
                TCF             5


P12SPOT         =               P40SPOT                 # (5)
P42SPOT         =               P40SPOT                 # (5)
P63SPOT         =               P41SPOT                 # (5)      IN P63 CLOKTASK ALREADY GOING
P40SPOT         CS              OCT20                   # (5)
                TC              BANKCALL                # MUST BE BANKCALLED FOR GENERALIZED
                CADR            STCLOK2                 #       RETURN
P41SPOT         TC              INTPRET                 # (5)
                DLOAD           DSU

## Page 742
                                TIG
                                D29.9SEC
                STCALL          TDEC1
                                INITCDUW
                BOFF            CALL
                                MUNFLAG
                                GOMIDAV
                                CSMPREC
                VLOAD           MXV
                                VATT1
                                REFSMMAT
                VSR1
                STOVL           V(CSM)                  # CSM VELOCITY - M/CS*2(7)
                                RATT1
                VSL4            MXV
                                REFSMMAT
                STCALL          R(CSM)                  # CSM POSITION - M*2(24)
                                MUNGRAV
                STODL           G(CSM)                  # CSM GRAVITY VEC. - M/CS*2(7)
                                TAT
                STORE           TDEC1                   # RELOAD TDEC1 FOR MIDTOAV.
GOMIDAV         CALRB
                                MIDTOAV1
                TCF             CALLT-35                # MADE IT IN TIME.

                EXTEND                                  # TIG WAS SLIPPED, SO RESET TIG TO 29.9
                DCA             PIPTIME1                # SECONDS AFTER THE TIME TO WHICH WE DID
                DXCH            TIG                     # INTEGRATE.
                EXTEND
                DCA             D29.9SEC
                DAS             TIG

CALLT-35        DXCH            MPAC
                DXCH            SAVET-30                # DELTA-T UNTIL TIG-30
                EXTEND
                DCS             5SECDP
                DAS             SAVET-30                # DELTA-T UNTIL TIG-35
                EXTEND
                DCA             SAVET-30
                TC              LONGCALL
                EBANK=          TTOGO
                2CADR           TIG-35
                TC              PHASCHNG
                OCT             20254                   # 4.25SPOT FOR TIG-35 RESTART.

                TC              CHECKMM
                DEC             63
                TCF             ENDOFJOB                # NOT P63
                CS              CNTDNDEX                # P63 CAN START DISPLAYING NOW.

## Page 743
                TS              DISPDEX
                TC              INTPRET
                VLOAD           ABVAL
                                VN1
                STORE           ABVEL                   # INITIALIZE ABVEL FOR P63 DISPLAY
                EXIT
                TCF             ENDOFJOB


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

TIG-35          CAF             5SEC
                TC              TWIDDLE
                ADRES           TIG-30

                TC              PHASCHNG
                OCT             40154                   # 4.15SPOT FOR TIG-30 RESTART

                CS              BLANKDEX                # BLANK DSKY FOR 5 SECONDS
                TS              DISPDEX

                INDEX           WHICH
                CS              6                       # CHECK ULLAGE TIME.
                EXTEND
                BZMF            TASKOVER
                CAF             4.9SEC                  # SET UP TASK TO RESTORE DISPLAY AT TIG-30
                TC              TWIDDLE
                ADRES           TIG-30.1

                CAF             PRIO17                  # A NEGATIVE ULLAGE TIME INDICATES P41, IN
                TC              NOVAC                   # WHICH CASE WE HAVE TO SET UP A JOB TO
                EBANK=          TTOGO                   # BLANK THE DSKY FOR FIVE SECONDS, SINCE
                2CADR           P41BLANK                # CLOKJOB IS NOT RUNNING DURING P41.

                TCF             TASKOVER

P41BLANK        TC              BANKCALL                # BLANK DSKY.
                CADR            CLEANDSP
                TCF             ENDOFJOB

TIG-30.1        CAF             PRIO17                  # SET UP JOB TO RESTORE DISPLAY AT TIG-30
                TC              NOVAC
                EBANK=          TTOGO
                2CADR           TIG-30A
                TCF             TASKOVER

TIG-30A         CAF             V16N85B
                TC              BANKCALL                # RESTORE DISPLAY.
                CADR            REGODSP                 # REGODSP DOES A TCF ENDOFJOB

## Page 744

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


TIG-30          CAF             S24.9SEC
                TC              TWIDDLE
                ADRES           TIG-5

                CS              CNTDNDEX                # START UP CLOKTASK AGAIN
                TS              DISPDEX

                INDEX           WHICH                   # PICK UP APPROPRIATE ULLAGE-ON TIME
                CAF             6
                EXTEND
                BZMF            ULLGNOT                 # DON'T SET UP ULLAGE IF DT IS NEG OR ZERO
                TS              SAVET-30                # SAVE DELTA-T FOR RESTART
                TC              TWIDDLE
                ADRES           ULLGTASK

                CA              THREE                   # RESTART PROTECT ULLGTASK (1.3SPOT)
                TS              L
                CS              THREE
                DXCH            -PHASE1
                CS              TIME1
                TS              TBASE1

ULLGNOT         EXTEND
                INDEX           WHICH
                DCA             7                       # LOAD AVEGEXIT WITH APPROPRIATE 2CADR
                DXCH            AVEGEXIT

                CAF             TWO                     # 4.2SPOT RESTARTS IMMEDIATELY AT REDO4.2
                TS              L
                CS              TWO                     # AND ALSO AT TIG-5 AT THE CORRECT TIME.
                DXCH            -PHASE4

                CS              TIME1
                TS              TBASE4                  # SET TBASE4 FOR TIG-5 RESTART

REDO2.17        EXTEND
                DCA             NEG0                    # CLEAR OUT GROUP 2 SO LAMBERT CAN START
                DXCH            -PHASE2                 #       IF NEEDED.

REDO4.2         CCS             PHASE5                  # IS SERVICER GOING?
                TCF             TASKOVER                # YES, DON'T START IT UP AGAIN.

                TC              POSTJUMP
                CADR            PREREAD                 # PREREAD ENDS THIS TASK


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

## Page 745

ULLGTASK        TC              ONULLAGE                # THIS COMES AT TIG-7.5 OR TIG-3.5
                TC              PHASCHNG
                OCT             1
                TCF             TASKOVER


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

TIG-5           CAF             5SEC
                TC              TWIDDLE
                ADRES           TIG-0

                TC              DOWNFLAG                # RESET IGNFLAG AND ASTNFLAG
                ADRES           IGNFLAG                 #   FOR LIGHT-UP LOGIC
                TC              DOWNFLAG
                ADRES           ASTNFLAG

                TC              2PHSCHNG
                OCT             40074                   # RESTART TIG-0 (4.7SPOT)
                OCT             05013                   # RESTART HERE (FOR S40.13 IF NEEDED)
                OCT             77777

                INDEX           WHICH
                TCF             11

P40SJUNK        CAF             PRIO20                  # (11)     P40 AND P42 COME HERE
                TC              FINDVAC
                EBANK=          TTOGO
                2CADR           S40.13


DISPCHNG        CS              VB99DEX                 # (11)
                TS              DISPDEX
                TCF             TASKOVER


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

TIG-0           CS              FLAGWRD7                # SET IGNFLAG SINCE TIG HAS ARRIVED
                MASK            IGNFLBIT
                ADS             FLAGWRD7

                TC              CHECKMM                 # IN P63 CASE, THROTTLE-UP IS ZOOMTIME
                DEC             63                      #   AFTER NOMINAL IGNITION, NOT ACTUAL
                TCF             IGNYET?
                CA              ZOOMTIME
                TC              TWIDDLE
                ADRES           ZOOM

## Page 746
                TC              2PHSCHNG
                OCT             40033

                OCT             05014
                OCT             77777

IGNYET?         CAF             ASTNBIT                 # CHECK ASTNFLAG:  HAS ASTRONAUT RESPONDED
                MASK            FLAGWRD7                #   TO OUR ENGINE ENABLE REQUEST?
                EXTEND
                INDEX           WHICH
                BZF             12                      # BRANCH IF HE HAS NOT RESPONDED YET

IGNITION        CS              FLAGWRD5                # INSURE ENGONFLG IS SET.
                MASK            ENGONBIT
                ADS             FLAGWRD5
                CS              PRIO30                  # TURN ON THE ENGINE.
                EXTEND
                RAND            DSALMOUT
                AD              BIT13
                EXTEND
                WRITE           DSALMOUT
                EXTEND                                  # SET TEVENT FOR DOWNLINK
                DCA             TIME2
                DXCH            TEVENT

                EXTEND                                  # UPDATE TIG USING TGO FROM S40.13
                DCA             TGO
                DXCH            TIG
                EXTEND
                DCA             TIME2
                DAS             TIG

                CS              FLUNDBIT                # PERMIT GUIDANCE LOOP DISPLAYS
                MASK            FLAGWRD8
                TS              FLAGWRD8

                INDEX           WHICH
                TCF             13

P63IGN          EXTEND                                  # (13)     INITIATE BURN DISPLAYS
                DCA             DSP2CADR
                DXCH            AVGEXIT

                CA              Z                       # ASSASSINATE CLOKTASK
                TS              DISPDEX

                CS              FLAGWRD9                # SET FLAG FOR P70-P71
                MASK            LETABBIT
                ADS             FLAGWRD9

## Page 747
                CS              FLAGWRD7                # SET SWANDISP TO ENABLE R10.
                MASK            SWANDBIT
                ADS             FLAGWRD7

                CS              PULSES                  # MAKE SURE DAP IS NOT IN MINIMUM-IMPULSE
                MASK            DAPBOOLS                #   MODE, IN CASE OF SWITCH TO P66
                TS              DAPBOOLS

                EXTEND                                  # INITIALIZE TIG FOR P70 AND P71.
                DCA             TIME2
                DXCH            TIG

                CAF             ZERO                    # INITIALIZE WCHPHASE AND FLPASSO
                TS              WCHPHASE
                TS              WCHPHOLD                # ALSO WHCPHOLD
                CA              TWO
                TS              FLPASS0

                TCF             P42IGN
P40IGN          CS              FLAGWRD5                # (13)
                MASK            NOTHRBIT
                EXTEND
                BZF             P42IGN
                CA              ZOOMTIME                # WAITLIST FOR ZOOM (FLATOUT. ETC.)
                TC              TWIDDLE
                ADRES           ZOOM

P63IGN1         TC              2PHSCHNG
                OCT             40033                   # 3.3SPOT FOR ZOOM RESTART.
                OCT             05014                   # TYPE C   RESTARTS HERE IMMEDIATELY
                OCT             77777

                TCF             P42IGN
ABRTIGN         TC              CHECKMM                 # (13) BRANCH TO APPROPRIATE ABORT
                DEC             71                      # ENGINE-ON SEQUENCE.
                TCF             P42IGN                  # CONTINUE ENGINE-ON SEQUENCE
P12IGN          CA              Z                       # (13)     KILL CLOKTASK
                TS              DISPDEX

                EXTEND                                  # CONNECT ASCENT GYIDANCE TO SERVICER.
                DCA             ATMAGADR
                DXCH            AVGEXIT

                CS              FLAGWRD7                # ENABLE R10.
                MASK            SWANDBIT
                ADS             FLAGWRD7

P42IGN          CS              DRIFTBIT                # ENSURE THAT POWERED-FLIGHT SWITCHING
                CS              DRIFTBIT                # ENSURE THAT POWERED-FLIGHT SWITCHING
                MASK            DAPBOOLS                #   CURVES ARE USED.

## Page 748
                TS              DAPBOOLS
                CAF             IMPULBIT                # EXAMINE IMPULSE SWITCH
                MASK            FLAGWRD2
                CCS             A
                TCF             IMPLBURN

DVMONCON        TC              DOWNFLAG
                ADRES           IGNFLAG                 # CONNECT DVMON
                TC              DOWNFLAG
                ADRES           ASTNFLAG
                TC              DOWNFLAG
                ADRES           IDLEFLAG

                TC              PHASCHNG
                OCT             40054

                TC              FIXDELAY                # TURN ULLAGE OFF HALF A SECOND AFTER
                DEC             50                      # LIGHT UP.

ULLAGOFF        TC              NOULLAGE

WAITABIT        EXTEND                                  # KILL GROUP 4
                DCA             NEG0
                DXCH            -PHASE4

                TCF             TASKOVER


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

TIGTASK         CAF             PRIO16                  # TIGNOW MUST BE A JOB.
                TC              NOVAC
                EBANK=          TRKMKCNT
                2CADR           TIGNOW
                TC              PHASCHNG
                OCT             6                       # KILL GROUP 6.

                TCF             TASKOVER


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

ZOOM            INDEX           WHICH
                TCF             4

P63ZOOM         EXTEND                                  # (4)   SET UP GUIDANCE.
                DCA             LUNLANAD
                DXCH            AVEGEXIT

## Page 749

                TC              IBNKCALL
                CADR            FLATOUT
                TCF             P40ZOOMA

P40ZOOM         CAF             BIT13                   # (4) THROTTLE THE DPS TO MAXIMUM THRUST.
                TS              THRUST
                CAF             BIT4

                EXTEND
                WOR             CHAN14

P40ZOOMA        TC              PHASCHNG
                OCT             3
                TCF             TASKOVER


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

COMFAIL         TC              UPFLAG                  # (15)
                ADRES           IDLEFLAG
                TC              UPFLAG                  # SET FLAG TO SUPPRESS CONFLICTING DISPLAY
                ADRES           FLUNDISP
                CAF             FOUR                    # RESET DVMON
                TS              DVCNTR
                CCS             PHASE6                  # CLOCKTASK ACTIVE?
                TCF             +3                      # YES
                TC              BANKCALL                # OTHERWISE, START IT UP
                CADR            STCLOK1
 +3             CS              VB97DEX
                TS              DISPDEX
                TC              PHASCHNG                # TURN OFF GROUP 4.
                OCT             00004
                TCF             ENDOFJOB

COMFAIL1        INDEX           WHICH
                TCF             2

COMFAIL3        CA              Z                       # (15)       KILL CLOKTASK USING Z
                TCF             +2

COMFAIL4        CS              CNTDNDEX
                TS              DISPDEX

                TC              DOWNFLAG                # RECONNECT DV MONITOR
                ADRES           IDLEFLAG
                TC              DOWNFLAG                # PERMIT GUIDANCE LOOP DISPLAYS
                ADRES           FLUNDISP
                TCF             ENDOFJOB

## Page 750
COMFAIL2        TC              PHASCHNG                # KILL ZOOM RESTART PROTECTION
                OCT             00003

                INHINT
                TC              KILLTASK                # KILL ZOOM, IN CASE IT'S STILL TO COME
                CADR            ZOOM
                TC              IBNKCALL                # COMMAND ENGINE OFF
                CADR            ENGINOF4
                TC              UPFLAG                  # SET THE DRIFT BIT FOR THE DAP.
                ADRES           DRIFTDFL
                TC              INVFLAG                 # USE OTHER RCS SYSTEM
                ADRES           AORBTFLG
                TC              UPFLAG                  # TURN ON ULLAGE
                ADRES           ULLAGFLG
                CAF             BIT1
                INHINT
                TC              TWIDDLE
                ADRES           TIG-5
                TCF             ENDOFJOB


#               ****************************************
#               SUBROUTINES OF THE IGNITION ROUTINE
#               ****************************************

INVFLAG         CA              Q
                TC              DEBIT
                COM
                EXTEND
                RXOR            LCHAN
                TCF             COMFLAG


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

NOULLAGE        CS              ULLAGER                 # MUST BE CALLED IN A TASK OR UNDER INHINT
                MASK            DAPBOOLS
                TS              DAPBOOLS
                TC              Q


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

ONULLAGE        CS              DAPBOOLS                # TURN ON ULLAGE.  MUST BE CALLED IN
                MASK            ULLAGER                 # A TASK OR WHILE INHINTED.
                ADS             DAPBOOLS
                TC              Q


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

## Page 751

STCLOK1         CA              ZERO                    # THIS ROUTINE STARTS THE COUNT-DOWN
STCLOK2         TS              DISPDEX                 #   (CLOKTASK AND CLOKJOB).   SETTING
STCLOK3         TC              MAKECADR                # SETTING DISPDEX POSITIVE KILLS IT.
                TS              TBASE4                  # RETURN SAVE (NOT FOR RESTARTS)
                EXTEND
                DCA             TIG
                DXCH            MPAC
                EXTEND
                DCS             TIME2
                DAS             MPAC                    # HAVE TIG - TIME2, UNDOUBTEDLY A + NUMBER
                TC              TPAGREE                 # POSITIVE, SINCE WE PASSED THE
                CAF             1SEC                    #   45 SECOND CHECK
                TS              Q
                DXCH            MPAC
                MASK            LOW5                    # RESTRICT MAGNITUDE OF NUMBER IN A
                EXTEND
                DV              Q
                CA              L                       # GET REMAINDER
                AD              TWO
                INHINT
                TC              TWIDDLE
                ADRES           CLOKTASK
                TC              2PHSCHNG
                OCT             40036                   # 6.3SPOT FOR CLOKTASK
                OCT             05024
                OCT             13000

                CA              TBASE4
                TC              BANKJUMP


CLOKTASK        CS              TIME1                   # SET TBASE6 FOR GROUP 6 RESTART
                TS              TBASE6

                CCS             DISPDEX
                TCF             KILLCLOK
                NOOP
                CAF             PRIO27
                TC              NOVAC
                EBANK=          TTOGO
                2CADR           CLOKJOB


                TC              FIXDELAY                # WAIT A SECOND BEFORE STARTING OVER
                DEC             100
                TCF             CLOKTASK

KILLCLOK        EXTEND                                  # KILL RESTART

## Page 752
                DCA             NEG0
                DXCH            -PHASE6
                TCF             TASKOVER


CLOKJOB         EXTEND
                DCS             TIG
                DXCH            TTOGO
                EXTEND
                DCA             TIME2
                DAS             TTOGO
                INHINT
                CCS             DISPDEX                 # IF DISPDEX HAS BEEN SET POSITIVE BY A
                TCF             ENDOFJOB                # TASK OR A HIGHER PRIORITY JOB SINCE THE
                TCF             ENDOFJOB                # LAST CLOKTASK, AVOID USING IT AS AN
                COM                                     # INDEX.
                RELINT                                  # *****  DISPDEX MUST NEVER BE -0  *****
                INDEX           A
                TCF             DISPNOT         -1      # (-1 DUE TO EFFECT OF CCS)

VB97DEX         =               34DEC

 -42            CA              NVWORD          +2      # NVWORD+2 CONTAINS V06 & APPROPRIATE NOUN
                TC              BANKCALL
                CADR            GOFLASHR
                TCF             STOPCLOK                # TERMINATE CLOKTASK ON THE WAY TO P00H
                TCF             COMFAIL1
                TCF             COMFAIL2
                CS              ZERO
V97ORV99        TS              NVWORD1
                CAF             VB99CON
                TC              LINUS
                TCF             ENDOFJOB
                                                        # THIS DISPLAY IS CALLED VIA ASTNCLOK.
 -27            INDEX           WHICH                   # IT IS PRIMARILY USED BY THE ASTRONAUT
                CAF             1                       # TO RESET HIS EVENT TIMER TO AGREE WITH
                TC              BANKCALL                # TIG.
                CADR            REFLASH
                TCF             STOPCLOK
                TCF             ASTNRETN
                TCF             -6

CNTDNDEX        =               OCT20                   # NEGATIVE OF THIS IS PROPER FOR DISPDEX

 -20            INDEX           WHICH                   # THIS DISPLAY COMES UP AT ONE SECOND
                CAF             0                       # INTERVALS.  IT IS NORMALLY OPERATED
                TC              BANKCALL                # BETWEEN TIG-30 SECONDS AND TIG-5 SECONDS
                CADR            REGODSP                 # REGODSP DOES ITS OWN TCF ENDOFJOB

VB99DEX         =               OCT14                   # NEGATIVE OF THIS IS PROPER FOR DISPDEX

## Page 753

V99RECYC        EQUALS

 -14            INDEX           WHICH                   # THIS IS THE "PLEASE ENABLE ENGINE"
                CAF             0                       # DISPLAY; IT IS INITIATED AT TIG-5 SEC.
                TC              BANKCALL                # THE DISPLAY IS A V99NXX, WHERE XX IS THE
                CADR            GOFLASHR                # NOUN THAT HAD PREVIOUSLY BEEN DISPLAYED
                TCF             STOPCLOK                # TERMINATE  GOTOPOOH TURNS OFF ULLAGE.
                TCF             *PROCEED
                TCF             *ENTER
                CS              BIT9
                TCF             V97ORV99

                NOOP
BLANKDEX        =               TWO                     # NEGATIVE OF THIS IS PROPER FOR DISPDEX

 -2             TC              BANKCALL                # BLANK DSKY.  THE DSKY IS BLANKED FOR
                CADR            CLEANDSP                # 5 SECONDS AT TIG-35 TO INDICATE THAT
DISPNOT         TCF             ENDOFJOB                # AVERAGE G IS STARTING.


STOPCLOK        TC              NULLCLOK                # STOP CLOKTASK & TURN OFF ULLAGE ON THE
                TCF             GOTOPOOH                #     WAY TO P00  (GOTOPOOH RELINTS)

NULLCLOK        INHINT
                EXTEND
                QXCH            P40/RET
                TC              NOULLAGE                # TURN OFF ULLAGE ...
                TC              KILLTASK                #    DON'T LET IT COME ON, EITHER ...
                CADR            ULLGTASK
                TC              PHASCHNG                #          NOT EVEN IF THERE'S A RESTART.
                OCT             1
                CA              Z                       # KILL CLOKTASK
                TS              DISPDEX
                TC              P40/RET


ASTNRETN        TC              PHASCHNG
                OCT             04024
                CAF             ZERO                    # STOP DISPLAYING BUT KEEP RUNNING.
                TS              DISPDEX
                CAF             PRIO13
                TC              FINDVAC
                EBANK=          STARIND
                2CADR           ASTNRET
                TCF             ENDOFJOB


*PROCEED        TC              UPFLAG
                ADRES           ASTNFLAG

## Page 754
                TCF             IGNITE


*ENTER          INHINT
                INDEX           WHICH
                TCF             3


GOPOST          CAF             PRIO12                  # (3)  MUST BE LOWER PRIORITY THAN CLOKJOB
                TC              FINDVAC
                EBANK=          TTOGO
                2CADR           POSTBURN
                INHINT                                  # SET UP THE DAP FOR COASTING FLIGHT.
                TC              IBNKCALL
                CADR            ALLCOAST
                TC              NULLCLOK
                TC              PHASCHNG                # 4.13 RESTART FOR POSTBURN
                OCT             00134

                TCF             ENDOFJOB


GOCUTOFF        CAF             PRIO17                  # (3)
                TC              FINDVAC
                EBANK=          TGO
                2CADR           CUTOFF
                TC              DOWNFLAG
                ADRES           FLUNDISP

                INHINT                                  # SET UP THE DAP FOR COASTING FLIGHT.
                TC              IBNKCALL
                CADR            ALLCOAST
                TC              NULLCLOK
                TC              PHASCHNG
                OCT             07024
                OCT             17000
                EBANK=          TGO
                2CADR           CUTOFF
                TCF             ENDOFJOB


IGNITE          CS              FLAGWRD7                # (2)
                MASK            IGNFLBIT
                CCS             A
                TCF             IGNITE1
                CAF             BIT1
                INHINT

## Page 755
                TC              TWIDDLE
                ADRES           IGNITION

                CAF             OCT23                   # IMMEDIATE RESTART AT IGNITION.
                TS              L
                COM
                DXCH            -PHASE4

IGNITE1         CS              CNTDNDEX                # RESTORE OLD DISPLAY.
                TS              DISPDEX

                TCF             ENDOFJOB


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

                BANK            31
                SETLOC          P40S2
                BANK

                COUNT*          $$/P40

P40AUTO         TC              MAKECADR                # HELLO THERE.
                TS              TEMPR60                 # FOR GENERALIZED RETURN TO OTHER BANKS.
P40A/P          TC              BANKCALL                # SUBROUTINE TO CHECK PGNCS CONTROL
                CADR            G+N,AUTO                # AND AUTO STABILIZATION MODES
                CCS             A                       # +0  INDICATES IN PGNCS, IN AUTO
                TCF             TURNITON                # + INDICATES NOT IN PGNCS AND/OR AUTO
                CAF             APSFLBIT                # ARE WE ON THE DESCENT STAGE?
                MASK            FLGWRD10
                CCS             A
                TCF             GOBACK                  # RETURN
                CAF             BIT5                    # YES, CHECK FOR AUTOTHROTTLE MODE
                EXTEND
                RAND            CHAN30
                EXTEND
                BZF             GOBACK                  # IN AUTOTHROTTLE MODE -- RETURN
TURNITON        CAF             P40A/PMD                # DISPLAY V50N25 R1=203 PLEASE PERFORM
                TC              BANKCALL                # CHECKLIST 203 TURN ON PGNCS ETC.
                CADR            GOPERF1
                TCF             GOTOPOOH                # V34E  TERMINATE
                TCF             P40A/P                  # RECYCLE
GOBACK          CA              TEMPR60
                TC              BANKJUMP                # GOODBYE.  COME AGAIN SOON.


P40A/PMD        OCT             00203

                BANK            36
                SETLOC          P40S

## Page 756
                BANK

                COUNT*          $$/P40

#               ****************************************
#               CONSTANTS FOR THE IGNITION ROUTINE
#               ****************************************

SERVCADR        =               P63TABLE        +7

P40ADRES        ADRES           P40TABLE

P41ADRES        ADRES           P41TABLE        -5

P42ADRES        ADRES           P42TABLE

                EBANK=          WCHPHASE
DSP2CADR        2CADR           P63DISPS        -2


                EBANK=          WCHPHASE
LUNLANAD        2CADR           LUNLAND


                EBANK=          DVCNTR
ATMAGADR        2CADR           ATMAG
?               =               GOTOPOOH

D29.9SEC        2DEC            2990


S24.9SEC        DEC             2490

4.9SEC          DEC             490

OCT20           =               BIT5

VB99CON         OCT             24020                   # BITS 5, 12, AND 14

## Page 757
#          KILLTASK
# MOD NO: NEW PROGRAM
# MOD BY: COVELLI


# FUNCTIONAL DESCRIPTION:

#    KILLTASK IS USED TO REMOVE A TASK FROM THE WAITLIST BY SUBSTITUTING ANULL TASK CALLED 'NULLTASK' (OF COURSE),
# WHICH MERELY DOES A TC TASKOVER. IF THE SAME TASK IS SCHEDULED MORE THAN ONCE, ONLY THE ONE WHICH WILL OCCUR
# FIRST IS REMOVED. IF THE TASK IS NOT SCHEDULED, KILLTASK TAKES NO ACTION AND RETURNS WITH NO ALARM. KILLTASK
# MUST BE CALLED IN INTERRUPT OR WITH INTERRUPT INHIBITED.

# CALLING SEQUENCE:
#                                         L-1     (INHINT)
#                                         L        TC     KILLTASK       IN FIXED-FIXED
#                                         L+1      CADR   ????????       CADR (NOT 2CADR) OF TASK TO BE REMOVED.
#                                         L+2      (RELINT)              RETURN

# EXIT MODE:  AT L+2 OF CALLING SEQUENCE.

# ERASABLE INITIALIZATION=  NONE.

# OUTPUT:  2CADR OF NULLTASK IN LST2

# DEBRIS:  ITEMP1 - ITEMP4, A,L,Q.

                EBANK=          LST2
                BLOCK           3                       # KILLTASK MUST BE IN FIXED-FIXED.
                SETLOC          FFTAG6
                BANK
                COUNT*          $$/KILL
KILLTASK        CA              KILLBB
                LXCH            A
                INDEX           Q
                CA              0                       # GET CADR.
                LXCH            BBANK
                TCF             KILLTSK2                # CONTINUE IN SWITCHED FIXED

                EBANK=          LST2
KILLBB          BBCON           KILLTSK2


                BANK            27

                SETLOC          P40S1
                BANK
                COUNT*          $$/KILL

KILLTSK2        LXCH            ITEMP2                  # SAVE CALLER'S BBANK

## Page 758
                INCR            Q
                EXTEND
                QXCH            ITEMP1                  # RETURN 2CADR IN ITEMP1,ITEMP2

                TS              ITEMP3                  # CADR IS IN A
                MASK            LOW10
                AD              BIT11
                TS              ITEMP4                  # GENADR OF TASK

                CS              LOW10
                MASK            ITEMP3
                TS              ITEMP3                  # FBANK OF TASK

                ZL
ADRSCAN         INDEX           L
                CS              LST2
                AD              ITEMP4                  # COMPARE GENADRS
                EXTEND
                BZF             TSTFBANK                # IF THEY MATCH, COMPARE FBANKS
LETITLIV        CS              LSTLIM
                AD              L
                EXTEND                                  # ARE WE DONE?
                BZF             DEAD                    # YES - DONE, SO RETURN
                INCR            L
                INCR            L
                TCF             ADRSCAN                 # CONTINUE LOOP.

DEAD            DXCH            ITEMP1
                DTCB

TSTFBANK        CS              LOW10
                INDEX           L
                MASK            LST2            +1      # COMPARE FBANKS ONLY.
                EXTEND
                SU              ITEMP3
                EXTEND
                BZF             KILLDEAD                # MATCH - KILL IT.
                TCF             LETITLIV                # NO MATCH - CONTINUE.

KILLDEAD        CA              TCTSKOVR
                INDEX           L
                TS              LST2                    # REMOVE TASK BY INSERTING TASKOVER
                TCF             DEAD

LSTLIM          EQUALS          BIT5                    # DEC 16
back to top