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
P76.agc
### FILE="Main.annotation"
## Copyright:   Public domain.
## Filename:    P76.agc
## Purpose:     A log section of Zerlina 56, the final revision of
##              Don Eyles's offline development program for the variable 
##              guidance period servicer. It also includes a new P66 with LPD 
##              (Landing Point Designator) capability, based on an idea of John 
##              Young's. Neither of these advanced features were actually flown,
##              but Zerlina was also the birthplace of other big improvements to
##              Luminary including the terrain model and new (Luminary 1E)
##              analog display programs. Zerlina was branched off of Luminary 145,
##              and revision 56 includes all changes up to and including Luminary
##              183. It is therefore quite close to the Apollo 14 program,
##              Luminary 178, where not modified with new features.
## Reference:   pp. 703-705
## Assembler:   yaYUL
## Contact:     Ron Burkey <info@sandroid.org>.
## Website:     www.ibiblio.org/apollo/index.html
## Mod history: 2017-07-28 MAS  Created from Luminary 210.
##              2017-08-19 MAS  Updated for Zerlina 56.

## Page 703
# 1) PROGRAM NAME - TARGET DELTA V PROGRAM (P76).
# 2) FUNCTIONAL DESCRIPTION - UPON ENTRY BY ASTRONAUT ACTION, P76 FLASHES DSKY REQUESTS TO THE ASTRONAUT
#          TO PROVIDE VIA DSKY (1) THE DELTA V TO BE APPLIED TO THE OTHER VEHICLE STATE VECTOR AND (2) THE
#          TIME (TIG) AT WHICH THE OTHER VEHICLE VELOCITY WAS CHANGED BY  EXECUTION OF A THRUSTING MANEUVER. THE
#          OTHER VEHICLE STATE VECTOR IS INTEGRATED TO TIG AND UPDATED BY THE ADDITION OF DELTA V (DELTA V HAVING
#          BEEN TRANSFORMED FROM LV TO REF COSYS).  USING INTEGRVS, THE   PROGRAM THEN INTEGRATES THE OTHER
# VEHICLE STATE VECTOR TO THE STATE VECTOR OF THIS VEHICLE, THUS INSURING THAT THE W-MATRIX AND BOTH VEHICLE
# STATES CORRESPOND TO THE SAME TIME.
# 3) ERASABLE INITIALIZATION REQUIRED - NONE.
# 4) CALLING SEQUENCES AND EXIT MODES - CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76 E.
#          EXITS BY TCF ENDOFJOB.
# 5) OUTPUT - OTHER VEHICLE STATE VECTOR INTEGRATED TO TIG AND INCREMENTED BY DELTA V IN REF COSYS.
#          THE PUSHLIST CONTAINS THE MATRIX BY WHICH THE INPUT DELTA V MUST BE POST-MULTIPLIED TO CONVERT FROM LV
#          TO REF COSYS.
# 6) DEBRIS - OTHER VEHICLE STATE VECTOR.
# 7) SUBROUTINES CALLED - BANKCALL,GOXDSPF,CSMPREC (OR LEMPREC),ATOPCSM (OR ATOPLEM),INTSTALL,INTWAKE, PHASCHNG
#          INTPRET, INTEGRVS, AND MINIRECT.

# 8) FLAG USE - MOONFLAG,CMOONFLAG,INTYPFLG,RASFLAG, AND MARKCTR.

                BANK    30
                SETLOC  P76LOC
                BANK

                COUNT*  $$/P76

                EBANK=  TIG

P76             TC      UPFLAG
                ADRES   TRACKFLG

                TC      INTPRET
                VLOAD
                        DELVLVC
                STORE   DELVOV
                EXIT

                CAF     V06N84 +1       # FLASH VERB 06 NOUN 33, DISPLAY LAST TIG,
                TC      BANKCALL        # AND WAIT FOR KEYBOARD ACTION.
                CADR    GOFLASH
                TCF     ENDP76
                TC      +2              # PROCEED
                TC      -5              # STORE DATA AND REPEAT FLASHING
                CAF     V06N84          # FLASH LAST DELTA V,
                TC      BANKCALL        # AND WAIT FOR KEYBOARD ACTION.
                CADR    GOFLASH
                TCF     ENDP76
                TC      +2
                TC      -5
                TC      INTPRET         # RETURN TO INTERPRETIVE CODE
## Page 704
                DLOAD   SET
                        TIG
                        NODOFLAG
                STCALL  TDEC1           # SET TDEC1=TIG FOR ORBITAL INTEGRATION
                        OTHPREC
COMPMAT         VLOAD   UNIT
                        RATT
                VCOMP                   # U(-R)
                STORE   24D             # U(-R) TO 24D
                VXV     UNIT            # U(-R)XV = U(VXR)
                        VATT
                STORE   18D
                VXV     UNIT            # U(VXR)XU(-R) = U((RXV)XR)
                        24D
                STOVL   12D
                        DELVOV
                VXM     VSL1            # V(MPAC)=DELTA V IN REFCOSYS
                        12D
                VAD
                        VATT
                STORE   6               # V(PD6)=VATT + DELTA V
                CALL                    # PREVENT WOULD-BE USER OF ORBITAL
                        INTSTALL        # INTEG FROM INTERFERING WITH UPDATING
                CALL
                        P76SUB1
                VLOAD   VSR*
                        6
                        0,2
                STOVL   VCV
                        RATT
                VSR*
                        0,2
                STODL   RCV
                        TIG
                STORE   TET
                CLEAR   DLOAD
                        INTYPFLG
                        TETTHIS
INTOTHIS        STCALL  TDEC1
                        INTEGRVS
                CALL
                        INTSTALL
                VLOAD
                        RATT1
                STORE   RRECT
                STODL   RCV
                        TAT
                STOVL   TET
                        VATT1
                CALL
## Page 705
                        MINIRECT
                EXIT
                TC      PHASCHNG
                OCT     04024

                TC      INTPRET
                SET     CALL
                        REINTFLG
                        ATOPOTH
                CALL
                        INTWAKE0
OUT             CLEAR   EXIT            # ALLOW V37.  NO NEED TO CLEAR NODOFLAG AT
                        NODOFLAG        #  ENDP76 SINCE FLAG NOT SET WHEN DISPLAY
                                        #  RESPONSES TRANSFER THERE FROM P76+.
ENDP76          CAF     ZERO
                TS      MARKCTR         # CLEAR RR TRACKING MARK COUNTER
                TCF     GOTOPOOH

V06N84          NV      0684
                NV      0633
P76SUB1         AXT,2   SET
                        2
                        MOONFLAG        # SET MEANS MOON IS SPHERE OF INFLUENCE.
                BON     AXT,2
                        CMOONFLG        # SET MEANS PERM CM STATE IN LUNAR SPHERE.
                        QPRET
                        0
                CLEAR   RVQ
                        MOONFLAG
back to top