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
GROUND_TRACKING_DETERMINATION_PROGRAM_-_P21.agc
### FILE="Main.annotation"
## Copyright:   Public domain.
## Filename:    GROUND_TRACKING_DETERMINATION_PROGRAM_-_P21.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. 654-657
## 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-02-12 NV   Updated for Luminary 116.
##		2017-03-01 RSB	Proofed comment text by diff vs Luminary 131
##				but no errors found.

## Page 654
# GROUND TRACKING DETERMINATION PROGRAM P21
# PROGRAM DESCRIPTION
#       MOD NO - 1
#       MOD BY - N. M. NEVILLE

# FUNCTIONAL DECRIPTION -
#       TO PROVIDE THE ASTRONAUT DETAILS OF THE LM OR CSM GROUND TRACK WITHOUT
#       THE NEED FOR GROUND COMMUNICATION (REQUESTED BY DSKY).

# CALLING SEQUENCE -
#       ASTRONAUT REQUEST THROUGH DSKY V37E21E

# SUBROUTINES CALLED -
#       GOPERF4
#       GOFLASH
#       THISPREC
#       OTHPREC
#       LAT-LONG

# NORMAL EXIT MODES -
#       ASTRONAUT REQUEST TROUGH DSKY TO TERMINATE PROGRAM V34E

# ALARM OR ABORT EXIT MODES -
#       NONE

# OUTPUT -
#       OCTAL DISPLAY OF OPTION CODE AND VEHICLE WHOSE GROUND TRACK IS TO BE
#       COMPUTED
#               OPTION CODE     00002
#               THIS            00001
#               OTHER           00002
#       DECIMAL DISPLAY OF TIME TO BE INTEGRATED TO HOURS, MINUTES, SECONDS
#       DECIMAL DISPLAY OF LAT,LONG,ALT

# ERASABLE INITIALIZATION REQUIRED
#       AX0             2DEC    4.652459653 E-5 RADIANS         %68-69 CONSTANTS"
#       -AY0            2DEC    2.147535898 E-5 RADIANS
#       AZ0             2DEC    .7753206164     REVOLUTIONS
#       FOR LUNAR ORBITS 504LM VECTOR IS NEEDED
#       504LM           2DEC    -2.700340600 E-5 RADIANS
#       504LM _2        2DEC    -7.514128400 E-4 RADIANS
#       504LM _4        2DEC    _2.553198641 E-4 RADIANS

#       NONE

# DEBRIS
## Page 655
#       CENTRALS - A,Q,L
#       OTHER - THOSE USED BY THE ABOVE LISTED SUBROUTINES
#       SEE LEMPREC, LAT-LONG

                SBANK=          LOWSUPER                        # FOR LOW 2CADR'S.

                BANK            33                              
                SETLOC          P20S                            
                BANK                                            

                EBANK=          P21TIME                         
                COUNT*          $$/P21                          
PROG21          CAF             ONE                             
                TS              OPTION2                         # ASSUMED VEHICLE IS LM, R2 = 00001
                CAF             BIT2                            # OPTION 2
                TC              BANKCALL                        
                CADR            GOPERF4                         
                TC              GOTOPOOH                        # TERMINATE
                TC              +2                              # PROCEED VALUE OF ASSUMED VEHICLE OK
                TC              -5                              # R2 LOADED THROUGH DSKY
                CAF             ZERO                            # INITIAL TIME = PRESENT TIME
                TS              DSPTEM1
                TS              DSPTEM1         +1
P21PROG1        CAF             V6N34                           # LOAD DESIRED TIME OF LAT-LONG.
                TC              BANKCALL                        
                CADR            GOFLASH                         
                TC              GOTOPOOH                        # TERM
                TC              +2                              # PROCEED VALUES OK
                TC              -5                              # TIME LOADED THROUGH DSKY
                TC              INTPRET                         
                DLOAD           BZE                             
                                DSPTEM1                         
                                P21PRTM                         
P21PROG2        STCALL          TDEC1                           # INTEG TO TIME SPECIFIED IN TDEC1
                                INTSTALL                        
                BON             CLEAR                           
                                P21FLAG                         
                                P21CONT                         # ON --- RECYCLE USING BASE VECTOR
                                VINTFLAG                        # OFF -- 1ST PASS CALL BASE VECTOR
                SLOAD           SR1                             
                                OPTION2                         
                BHIZ            SET                             
                                +2                              # ZERO -- THIS VEHICLE (LM)
                                VINTFLAG                        # ONE -- OTHER VEHICLE (CM)
                CLEAR           CLEAR                           
                                DIM0FLAG                        
                                INTYPFLG                        # PRECISION
                CALL                                            
                                INTEGRV                         # CALCULATE
                GOTO                                            # -AND
## Page 656
                                P21VSAVE                        # -SAVE BASE VECTOR
P21CONT         VLOAD                                           
                                P21BASER                        # RECYCLE -- INTEG FROM BASE VECTOR
                STOVL           RCV                             # --POS         
                                P21BASEV                        
                STODL           VCV                             # --VEL
                                P21TIME                         
                STORE           TET                             # --TIME
                CLEAR           CLEAR                           
                                DIM0FLAG                        
                                MOONFLAG                        
                SLOAD           BZE                             
                                P21ORIG                         
                                +3                              # ZERO = EARTH
                SET                                             # ---2 = MOON
                                MOONFLAG                        
 +3             CALL                                            
                                INTEGRVS                        
P21VSAVE        DLOAD                                           # SAVE CURRENT BASEVECTOR
                                TAT                             
                STOVL           P21TIME                         # --TIME
                                RATT1                           
                STOVL           P21BASER                        # --POS B-29 OR B-27
                                VATT1                           
                STORE           P21BASEV                        # --VEL B-07 OR B-05
                ABVAL           SL*                             
                                0,2                             
                STOVL           P21VEL                          # VEL/ FOR N91 DISP
                                RATT                            
                UNIT            DOT                             
                                VATT                            # U(R).V
                DDV             ASIN                            # U(R).U(V)
                                P21VEL                          
                STORE           P21GAM                          # SIN-1 U(R).U(V) , -90 TO &90
                SXA,2           SLOAD                           
                                P21ORIG                         # 0 = EARTH
                                OPTION2                         
                SR1             BHIZ                            
                                +3                              
                GOTO                                            
                                +4                              
 +3             BON                                             
                                SURFFLAG                        
                                P21DSP                          
 +4             SET                                             
                                P21FLAG                         
P21DSP          CLEAR           SLOAD                           # GENERATE DISPLAY DATA
                                LUNAFLAG                        
                                X2                              
                BZE             SET                             
## Page 657                             
                                +2                              # 0 = EARTH
                                LUNAFLAG                        
                VLOAD                                           
                                RATT                            
                STODL           ALPHAV                          
                                TAT                             
                CLEAR           CALL                            
                                ERADFLAG                        
                                LAT-LONG                        
                DMP                                             # MPAC = ALT, METERS B-29
                                K.01                            
                STORE           P21ALT                          # ALT/100 FOR N91 DISP
                EXIT                                            
                CAF             V06N43                          # DISPLAY LAT, LONG, ALT
                TC              BANKCALL                        # LAT, LONG = 1/2 REVS B0
                CADR            GOFLASH                         # ALT = KM B14
                TC              GOTOPOOH                        # TERM
                TC              GOTOPOOH                        
                TC              INTPRET                         # V32E RECYCLE
                DLOAD           DAD                             
                                P21TIME                         
                                600SEC                          # 600 SECONDS OR 10 MIN
                STORE           DSPTEM1                         
                RTB                                             
                                P21PROG1
P21PRTM         RTB             GOTO
                                LOADTIME
                                P21PROG2                        
600SEC          2DEC            60000                           # 10 MIN

V06N43          VN              00643                           
V6N34           VN              00634                           
K.01            2DEC            .01                             

back to top