swh:1:snp:92f3f585b9ae79620ad8c41a332d6329b31fd381
Raw File
Tip revision: 078c79d8734a9ed2860303a7c1662004284fe853 authored by Ron Burkey on 07 August 2022, 15:04:04 UTC
Fixed a potential string-overflow bug in yaASM. Removed timestamps from
Tip revision: 078c79d
KALCMANU_STEERING.agc
### FILE="Main.annotation"
## Copyright:   Public domain.
## Filename:    KALCMANU_STEERING.agc
## Purpose:     A module for revision 0 of BURST120 (Sunburst). It 
##              is part of the source code for the Lunar Module's
##              (LM) Apollo Guidance Computer (AGC) for Apollo 5.
## Assembler:   yaYUL
## Contact:     Ron Burkey <info@sandroid.org>.
## Website:     www.ibiblio.org/apollo/index.html
## Mod history: 2016-09-30 RSB  Created draft version.
##              2016-10-22 MAS  Transcribed.
##		2016-10-31 RSB	Typos.
##		2016-11-01 RSB	More typos.
##		2016-12-06 RSB	Comments proofed using octopus/ProoferComments,
##				no changes made.
##		2017-01-28 RSB	WTIH -> WITH.
##		2017-03-17 RSB	Comment-text fixes identified in diff'ing
##				Luminary 99 vs Comanche 55.

## Page 668
# GENERATION OF STEERING COMMANDS FOR DIGITAL AUTOPILOT FREE FALL MANEUVERS

# NEW COMMANDS WILL BE GENERATED EVERY ONE SECOND DURING THE MANEUVER

                EBANK=          TTEMP                           

NEWDELHI        TC              INTPRET                         
                AXC,1           AXC,2                           
                                MIS                             # COMPUTE THE NEW MATRIX FROM S/C TO
                                KEL                             # STABLE MEMBER AXES
                CALL                                            
                                MXM3                            
                VLOAD           STADR                           
                STOVL           MIS             +12D            # CALCULATE NEW DESIRED CDU ANGLES
                STADR                                           
                STOVL           MIS             +6D             
                STADR                                           
                STORE           MIS                             
                AXC,1           CALL                            
                                MIS                             
                                DCMTOCDU                        # PICK UP THE NEW CDU ANGLES FROM MATRIX
                RTB                                             
                                V1STO2S                         
                STORE           NCDU                            # NEW CDU ANGLES
                BONCLR          EXIT                            
                                32D                        
                                MANUSTAT                        # TO START MANEUVER
                CAF             TWO                             #          +0 OTHERWISE
INCRDCDU        TS              SPNDX                           
                INDEX           SPNDX                           
                CA              BCDU                            # INITIAL CDU ANGLES
                EXTEND                                          # OR PREVIOUS DESIRED CDU ANGLES
                INDEX           SPNDX                           
                MSU             NCDU                            
                EXTEND                                          
                MP              DT/TAU                          
                CCS             A                               # CONVERT TO 2S COMPLEMENT
                AD              ONE                             
                TCF             +2                              
                COM                                             
                INDEX           SPNDX                           
                TS              DELDCDU                         # ANGLE INCREMENTS TO BE ADDED TO
                INDEX           SPNDX                           # CDUXD, CDUYD, CDUZD EVERY TENTH SECOND
                CA              NCDU                            # BY LEM DAP
                INDEX           SPNDX                           
                XCH             BCDU                            
                INDEX           SPNDX                           
                TS              CDUXD                           
                CCS             SPNDX                           
                TCF             INCRDCDU                        # LOOP FOR THREE AXES

## Page 669
# COMPARE PRESENT TIME WITH TIME TO TERMINATE MANEUVER

TMANUCHK        EXTEND                                          
                DCS             TIME2                           
                DXCH            TTEMP                           
                EXTEND                                          
                DCA             TM                              
                DAS             TTEMP                           # TM+T0-1-T
                CCS             TTEMP                           
                TCF             CONTMANU                        # (TM+T0)-T G 164 SEC
                TCF             +2                              
                TCF             OVERMANU                        # (TM+T0)-T L -164 SEC
                CCS             TTEMP           +1              
                TCF             CONTMANU                        # (TM+T0)-T G 1 SEC
                TCF             MANUOFF                         # (TM+T0)-T E 1 SEC
                COM                                             # (TM+T0)-T L 1 SEC
MANUOFF         AD              ONESEK          +1              # (TM+T0)-T E 1 SEC
                EXTEND                                          
                BZMF            OVERMANU                        # THIS IS A SAFETY PLAY
MANUSTAL        INHINT                                          # PREPARE TO STOP THE MANEUVER
                TC              WAITLIST                        
                EBANK=          TTEMP                           
                2CADR           MANUSTOP                        

                RELINT                                          
                TCF             ENDOFJOB                        

DT/TAU          DEC             .1                              

MANUSTAT        EXIT                                            # INITIALIZATION ROUTINE
                EXTEND                                          # FOR AUTOMATIC MANEUVERS
                DCA             TIME2                           
                DAS             TM                              # TM+T0    MANEUVER COMPLETION TIME
                EXTEND                                          
                DCS             ONESEK                          
                DAS             TM                              # (TM+T0)-1
                INHINT                                          
                CA              BRATE                           # X-AXIS MANEUVER RATE
                TS              OMEGAPD
                CA              BRATE           +2              # Y-AXIS MANEUVER RATE
                TS              OMEGAQD
                CA              BRATE           +4              # Z-AXIS MANEUVER RATE
                TS              OMEGARD

                EXTEND
                DCA             CDUY
                DXCH            CDUYD
                CAE             CDUX
                TS              CDUXD
                TC              IBNKCALL
## Page 670
                FCADR           SETMINDB
                RELINT
                CA              TIME1
                AD              ONESEK          +1
                XCH             NEXTIME
                TC              FLAG2UP                         # SET BIT 11 OF FLAGWRD2
                OCT             2000                            # TO SIGNAL KALCMANU IN PROCESS
                TCF             INCRDCDU        -1

ONESEK          DEC             0                               
                DEC             100                             

OVERMANU        CAF             ONE                             # SAFETY PLAY
                TCF             MANUSTAL

CONTMANU        CS              TIME1                           # RESET FOR NEXT DCDU UPDATE
                AD              NEXTIME                         
                CCS             A                               
                AD              ONE                             
                TCF             MANUCALL                        
                AD              NEGMAX                          
                COM                                             
MANUCALL        INHINT                                          # CALL FOR NEXT UPDATE VIA WAITLIST
                TC              WAITLIST                        
                EBANK=          TTEMP                           
                2CADR           UPDTCALL                        

                RELINT
                CAF             ONESEK          +1              # INCREMENT TIME FOR NEXT UPDATE
                ADS             NEXTIME                         
                TCF             ENDOFJOB                        



UPDTCALL        CAF             PRIO34                          # SATELLITE PROGRAM TO CALL FOR UPDATE
                TC              FINDVAC                         # OF STEERING COMMANDS
                EBANK=          TTEMP                           
                2CADR           NEWDELHI                        

                TC              TASKOVER                        

## Page 671
# ROUTINE FOR TERMINATING AUTOMATIC MANEUVERS

MANUSTOP        CAF             ZERO                            # ZERO MANEUVER RATES
                TS              DELDCDU2                        
                TS              OMEGARD                         
                TS              DELDCDU1                        
                TS              OMEGAQD                         
                CA              CPSI                            # SET DESIRED GIMBAL ANGLES TO
                TS              CDUZD                           # DESIRED FINAL GIMBAL ANGLES
                CA              CTHETA                          
                TS              CDUYD                           
                CA              STATE           +2              # CHECK TO SEE IF A FINAL YAW NECESSARY
                MASK            BIT14
                EXTEND
                BZF             KALCROLL
ENDROLL         CA              CPHI                            # NO FINAL YAW
                TS              CDUXD                           
                CAF             ZERO                            
                TS              OMEGAPD                         # I.E. MANEUVER DID NOT GO THRU
                TS              DELDCDU                         # GIMBAL LOCK ORIGINALLY
GOODMANU        TC              FLAG2DWN                        # RESET BIT 11 OF FLAGWRD2 TO SIGNAL END
                OCT             2000                            # OF KALCMANU
                TC              POSTJUMP                        # RETURN UNDER WAITLIST VIA GOODEND
                CADR            CHKAKS

                BANK            35
                EBANK=          TTEMP
CHKAKS          CAF             TWO
AKLOOP          TS              SPNDX                           # CHECK THE MAGNITUDE OF THE ATTITUDE
                INDEX           A                               # ERROR ON COMPLETION OF A KALCMANU
                CA              CDUXD                           # SUPERVISED MANEUVER
                EXTEND
                INDEX           SPNDX                           # I.E.   CDUD - CDU
                MSU             CDUX
                CCS             A                               # IF THE MAGNITUDE OF THE ERROR EXCEEDS
                AD              =-5DEG                          # 5 DEGREES ON ANY AXIS DISPLAY AN ALARM
                TCF             CHECKASG                        # INDICATING THAT SPACECRAFT MAY NOT HAVE
                AD              =-5DEG                          # ACHIEVED THE DESIRED ATTITUDE.
CHECKASG        EXTEND
                BZMF            AKOK
                TC              ALARM
                OCT             01412
                TCF             ENDKMANU

AKOK            CCS             SPNDX
                TCF             AKLOOP

ENDKMANU        CAF             THREE                           # TERMINATE KALCMANU VIA GOODEND
                TC              POSTJUMP
                CADR            GOODEND

## Page 672
=-5DEG          DEC             -455                            # =-5 DEGREES SCALED 180 DEG



                BANK            34
                EBANK=          TTEMP
KALCROLL        CA              STATE           +2              # STATE SWITCH NO. 33
                MASK            BIT12                           # 0(OFF) = PERFORM A FINAL YAW
                EXTEND                                          #          IF NECESSARY
                BZF             DOROLL                          # 1(ON) = IGNORE ANY FINAL YAW
                TCF             ENDROLL         +2
DOROLL          CA              CPHI
                EXTEND                                          # PERFORM A FINAL ROLL  TO
                MSU             CDUXD                           # COMPLETE AUTOMATIC MANEUVER
                EXTEND
                BZMF            FROLLNEG
FROLLPOS        TS              L
                CA              ROLLRATE
                TS              OMEGAPD
                CS              DELFROLL
                AD              ONE
                TS              DELDCDU
                TCF             ROLLSTAL
FROLLNEG        COM
                TS              L
                CS              ROLLRATE
                TS              OMEGAPD
                CA              DELFROLL
                TS              DELDCDU
ROLLSTAL        CA              L                               # ABS(CPHI-CDUXD)
                EXTEND
                MP              INVRATE
                EXTEND
                BZMF            ENDROLL
                TC              WAITLIST
                EBANK=          TTEMP
                2CADR           ENDROLL

                TC              TASKOVER

ROLLRATE        DEC             720                             # = 1.98 DEGREES/SEC
DELFROLL        DEC             18                              # MUST BE A WHOLE NUMBER
INVRATE         DEC             .555555
back to top