https://github.com/virtualagc/virtualagc
Revision 078c79d8734a9ed2860303a7c1662004284fe853 authored by Ron Burkey on 07 August 2022, 15:04:04 UTC, committed by Ron Burkey on 07 August 2022, 15:04:04 UTC
assembly listings from yaASM and yaLEMAP. Added some debugging messages
to 'make install'.  Tweaked debugging messages that VirtualAGC embeds in
'simulate'.  Verified buildability in Mint 21, 20, 19, 17, and verified
buildability using clang in Mint 17.
1 parent 6bb1acc
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
IMU_PERFORMANCE_TESTS_4.agc
### FILE="Main.annotation"
## Copyright:   Public domain.
## Filename:    IMU_PERFORMANCE_TESTS_4.agc
## Purpose:     A section of Luminary revision 173.
##              It is part of the reconstructed source code for the second
##              (unflown) release of the flight software for the Lunar
##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 14.
##              The code has been recreated from a reconstructed copy of
##              Luminary 178, as well as Luminary memo 167 (revision 1).
##              It has been adapted such that the resulting bugger words
##              exactly match those specified for Luminary 173 in NASA
##              drawing 2021152N, which gives relatively high confidence
##              that the reconstruction is correct.
## Reference:   pp. 387-394
## Assembler:   yaYUL
## Contact:     Ron Burkey <info@sandroid.org>.
## Website:     www.ibiblio.org/apollo/index.html
## Mod history: 2019-09-18 MAS  Created from Luminary 178.

## Page 387
# PROGRAM-IMU PERFORMANCE TESTS 4
# DATE-NOV 15,1966
# BY- GEORGE SCHMIDT IL7-146 EXT 1126
# MOD NO-ZERO


# FUNCTIONAL DESCRIPTION

# THIS SECTION CONSISTS OF THE FILTER FOR THE GYRO DRIFT TESTS. NO COMPASS
# IS DONE IN LEM. FOR A DESCRIPTION OF THE FILTER SEE E-1973. THIS
# SECTION IS ENTERED FROM IMU 2. IT RETURNS THERE AT END OF TEST.

# EARTHR,OGC ZERO,ERTHRVSE

# NORMAL EXIT

# LENGTHOT GOES TO ZERO-RETURN TO IMU PERF TESTS 2 CONTROL

# ALARMS

# 1600 OVERFLOW IN DRIFT TEST
# 1601    BAD IMU MODING IN ANY ROUTINE THAT USES IMUSTALL
# OUTPUT

# FLASHING DISPLAY OF RESULTS-CONTROLLED IN IMU PERF TESTS 2

# DEBRIS

# ALL CENTRALS-ALL OF EBANK XSM

## Page 388
                BANK            33
                SETLOC          IMU4
                BANK
                COUNT*          $$/P07

                EBANK=          XSM


ESTIMS          INHINT
                CAE             1SECXT
                TC              TWIDDLE
                EBANK=          XSM
                ADRES           ALLOOP
                CAF             ZERO                    # ZERO THE PIPAS
                TS              PIPAX
                TS              PIPAY
                TS              PIPAZ
                RELINT
                CA              77DECML
                TS              ZERONDX
                CA              ALXXXZ
                TC              ZEROING
                TC              INTPRET
                SLOAD
                                SCHZEROS
                STOVL           GCOMPSW         -1
                                INTVAL          +2
                STOVL           ALX1S
                                SCHZEROS
                STORE           DELVX
                STORE           GCOMP
                SLOAD
                                TORQNDX
                DCOMP           BMN
                                VERTSKIP
                CALL
                                ERTHRVSE
VERTSKIP        EXIT
                TC              SLEEPIE         +1

## Page 389
ALLOOP          CA              OVFLOWCK
                EXTEND
                BZF             +2
                TC              TASKOVER
                CCS             ALTIM
                CA              A                       # SHOULD NEVER HIT THIS LOCATION
                TS              ALTIMS
                CS              A
                TS              ALTIM
                CS              ONE
                AD              GEOCOMPS
                EXTEND
                BZF             +4
                CA              LENGTHOT
                EXTEND
                BZMF            +5
                CAE             1SECXT
                TC              TWIDDLE
                EBANK=          XSM
                ADRES           ALLOOP
                CAF             ZERO
                XCH             PIPAX
                TS              DELVX
                CAF             ZERO
                XCH             PIPAY
                TS              DELVY
                CAF             ZERO
                XCH             PIPAZ
                TS              DELVZ
SPECSTS         CAF             PRIO20
                TC              FINDVAC
                EBANK=          XSM
                2CADR           ALFLT                   # START THE JOB
                
                TC              TASKOVER

## Page 390
ALFLT           CCS             GEOCOMPS
                TC              +2
                TC              NORMLOP
                TC              BANKCALL
                CADR            1/PIPA
NORMLOP         TC              INTPRET
                DLOAD
                                INTVAL
                STOVL           S1
                                DELVX
                VXM             VSL1
                                XSM
                DLOAD           DCOMP
                                MPAC +3
                STODL           DPIPAY
                                MPAC +5
                STORE           DPIPAZ

                SETPD           AXT,1
                                0
                                8D
                SLOAD           DCOMP
                                GEOCOMPS
                BMN
                                PERFERAS
ALCGKK          SLOAD           BMN
                                ALTIMS
                                ALFLT3
ALKCG           AXT,2           LXA,1                   # LOADS SLOPES AND TIME CONSTANTS AT RQST
                                12D
                                ALX1S
ALKCG2          DLOAD*          INCR,1
                                ALFDK           +144D,1
                DEC             -2
                STORE           ALDK            +10D,2
                TIX,2           SXA,1
                                ALKCG2
                                ALX1S

ALFLT3          AXT,1
                                8D
DELMLP          DLOAD*          DMP
                                DPIPAY          +8D,1
                                PIPASC
                SLR             BDSU*
                                9D
                                INTY            +8D,1
                STORE           INTY            +8D,1
                PDDL            DMP*
                                VELSC

## Page 391
                                VLAUN           +8D,1
                SL2R
                DSU             STADR
                STORE           DELM            +8D,1
                STORE           DELM            +10D,1
                TIX,1           AXT,2
                                DELMLP
                                4
ALILP           DLOAD*          DMPR*
                                ALK             +4,2
                                ALDK            +4,2
                STORE           ALK             +4,2
                TIX,2           AXT,2
                                ALILP
                                8D
ALKLP           LXC,1           SXA,1
                                CMPX1
                                CMPX1
                DLOAD*          DMPR*
                                ALK             +1,1
                                DELM            +8D,2
                DAD*
                                INTY            +8D,2
                STORE           INTY            +8D,2
                DLOAD*          DAD*
                                ALK             +12D,2
                                ALDK            +12D,2
                STORE           ALK             +12D,2
                DMPR*           DAD*
                                DELM            +8D,2
                                INTY            +16D,2
                STORE           INTY            +16D,2
                DLOAD*          DMP*
                                ALSK            +1,1
                                DELM            +8D,2
                SL1R            DAD*
                                VLAUN           +8D,2
                STORE           VLAUN           +8D,2
                TIX,2           AXT,1
                                ALKLP
                                8D


LOOSE           DLOAD*          PDDL*
                                ACCWD           +8D,1
                                VLAUN           +8D,1
                PDDL*           VDEF
                                POSNV           +8D,1
                MXV             VSL1
                                TRANSM1
## Page 392
                DLOAD
                                MPAC
                STORE           POSNV           +8D,1
                DLOAD
                                MPAC            +3
                STORE           VLAUN           +8D,1
                DLOAD
                                MPAC            +5
                STORE           ACCWD           +8D,1
                TIX,1
                                LOOSE


                AXT,2           AXT,1                   # EVALUATE SINES AND COSINES
                                6
                                2
BOOP            DLOAD*          DMPR
                                ANGX            +2,1
                                GEORGEJ
                SR2R
                PUSH            SIN
                SL3R            XAD,1
                                X1
                STORE           16D,2
                DLOAD
                COS
                STORE           22D,2                   # COSINES
                TIX,2
                                BOOP

PERFERAS        EXIT
                CA              EBANK7
                TS              EBANK
                EBANK=          ATIGINC
                TC              ATIGINC                 # GOTO ERASABLE TO CALCULATE ONLY TO RETN

#             CAUTION
#
# THE ERASABLE PROGRAM THAT DOES THE CALCULATIONS MUST BE LOADED
# BEFORE ANY ATTEMPT IS MADE TO RUN THE IMU PERFORMANCE TEST

                EBANK=          AZIMUTH
                CCS             LENGTHOT
                TC              SLEEPIE
                CCS             TORQNDX
                TCF             +2
                TC              SETUPER1
                CA              CDUX
                TS              LOSVEC          +1      # FOR TROUBLESHOOTING VD POSNS 2$4

## Page 393
SETUPER1        TC              INTPRET
                DLOAD           PDDL                    # ANGLES FROM DRIFT TEST ONLY
                                ANGZ
                                ANGY
                PDDL            VDEF
                                ANGX
                VCOMP           VXSC
                                GEORGEJ
                MXV             VSR1
                                XSM
                STORE           OGC
                EXIT


                CA              OGCPL
                TC              BANKCALL
                CADR            IMUPULSE
                TC              IMUSLLLG
GEOSTRT4        CCS             TORQNDX                 # ONLY POSITIVE IF IN VERTICAL DRIFT TEST
                TC              VALMIS
                TC              INTPRET
                CALL
                                ERTHRVSE
                EXIT
                TC              TORQUE


SLEEPIE         TS              LENGTHOT                # TEST NOT OVER-DECREMENT LENGTHOT
                CCS             TORQNDX                 # ARE WE DOING VERTDRIFT
                TC              EARTHR*
                TC              ENDOFJOB


SOMEERRR        CA              EBANK5
                TS              EBANK
                CA              ONE
                TS              OVFLOWCK                # STOP ALLOOP FROM CALLING ITSELF
                TC              ALARM
                OCT             1600
                TC              ENDTEST1
SOMERR2         CAF             OCT1601
                TC              VARALARM
                TC              DOWNFLAG
                ADRES           IMUSE
                TC              ENDOFJOB

OCT1601         OCT             01601
DEC585          OCT             06200                   # 3200 B+14   ORDER IS IMPORTANT
SCHZEROS        2DEC            .00000000

## Page 394
                2DEC            .00000000
                OCT             00000
ONEDPP          OCT             00000                   # ORDER IS IMPORTANT
                OCT             00001

INTVAL          OCT             4
                OCT             2
                DEC             144
                DEC             -1
SOUPLY          2DEC            .93505870               # INITIAL GAINS FOR PIP OUTPUTS
                2DEC            .26266423               # INITIAL GAINS/4 FOR ERECTION ANGLES

77DECML         DEC             77
ALXXXZ          GENADR          ALX1S -1
PIPASC          2DEC            .13055869
VELSC           2DEC            -.52223476              # 512/980.402
ALSK            2DEC            .17329931               # SSWAY VEL GAIN X 980.402/4096
                2DEC            -.00835370              # SSWAY ACCEL GAIN X 980.402/4096


GEORGEJ         2DEC            .63661977
GEORGEK         2DEC            .59737013
back to top