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
Tip revision: 3577d0b1de1ac147c1710524517c563b2bfe231c authored by Ronald Burkey on 30 May 2021, 19:14:00 UTC
Merge pull request #1147 from smithery1/Issue/1143
Merge pull request #1147 from smithery1/Issue/1143
Tip revision: 3577d0b
DOWN-TELEMETRY_PROGRAM.agc
### FILE="Main.annotation"
## Copyright: Public domain.
## Filename: DOWN-TELEMETRY_PROGRAM.agc
## Purpose: This program is designed to extensively test the Apollo Guidance Computer
## (specifically the LM instantiation of it). It is built on top of a heavily
## stripped-down Aurora 12, with all code ostensibly added by the DAP Group
## removed. Instead Borealis expands upon the tests provided by Aurora,
## including corrected tests from Retread 44 and tests from Ron Burkey's
## Validation.
## Assembler: yaYUL
## Contact: Mike Stewart <mastewar1@gmail.com>.
## Website: www.ibiblio.org/apollo/index.html
## Mod history: 2016-12-20 MAS Created from Aurora 12 (with much DAP stuff removed).
BANK 15
EBANK= DNTMBUFF
LOWIDCOD OCT 00437 # FOD'S CHOICE.
# SPECIAL DOWNLINK LIST FOR AGS INITIALIZATION, MUST BE IN LOCATION 2001 OF DOWNLINK FBANK,
AGSLIST ECADR UPLOCK
ECADR TIME1
ECADR TIME2
ECADR AGSWORD
ECADR AGSBUFF +27D
ECADR AGSBUFF +26D
ECADR AGSBUFF +25D
ECADR AGSBUFF +24D
ECADR AGSWORD
ECADR AGSBUFF +23D
ECADR AGSBUFF +22D
ECADR AGSBUFF +21D
ECADR AGSBUFF +20D
ECADR AGSWORD
ECADR AGSBUFF +19D
ECADR AGSBUFF +18D
ECADR AGSBUFF +17D
ECADR AGSBUFF +16D
ECADR AGSWORD
ECADR AGSBUFF +15D
ECADR AGSBUFF +14D
ECADR AGSBUFF +13D
ECADR AGSBUFF +12D
ECADR AGSWORD
ECADR AGSBUFF +11D
ECADR AGSBUFF +10D
ADRES AGSBUFF +9D
ADRES AGSBUFF +8D
ADRES AGSWORD
ADRES AGSBUFF +7
ADRES AGSBUFF +6
ADRES AGSBUFF +5
ADRES AGSBUFF +4
ADRES AGSWORD
ADRES AGSBUFF +3
ADRES AGSBUFF +2
ADRES AGSBUFF +1
ADRES AGSBUFF
# THIS ROUTINE IS INITITATED EVERY 20MS BY AN INTERRUPT TRIGGERED
# BY THE RECEIPT OF AN ENDPULSE FROM THE SPACECRAFT TELEMETRY PROGRAMMER.
DODOWNTM TS BANKRUPT # DO APPROPRIATE TM PHASE.
INDEX DNTMGOTO
TCF 0
DNPHASE1 CA DNLSTADR # ONCE PER CYCLE (1 SECOND), AN ID IS SENT
TS LDATALST # AND THE DATA LIST SWITCHED TO THAT
MASK LOW10 # SELECTED BY A MISSION OR TEST PROGRAM.
EXTEND
WRITE DNTM1
CS BIT7 # WORD ORDER BIT IS 0 FOR ID OWRD ONLY.
EXTEND
WAND 13
CAF LDNPHAS2 # SWITCH TO PHASE 2.
TS DNTMGOTO
CAF LOWIDCOD # SPECIAL ID CODE IN L.
TCF TMEXITL
DNPHASE2 CAF BIT7 # SET WORD ORDER BACK TO 1 FOR REMAINDER
EXTEND # OF CYCLE AND SET UP TO PICK UP 12 PAIRS
WOR 13 # FROM ANYWHERE IN COMMON ERASABLE OR E7.
CAF ZERO
TS ITEMP1 # TAKE SNAPSHOT OF 12 DP WORDS.
CAF TEN
LOOP TS ITEMP2 # THESE 12 DP WORDS ARE READ INTO AN
AD LDATALST # INTERMEDIATE BUFFER SO THEY REFER TO THE
EXTEND # SAME POINT IN THE EXECUTION OF A MISSION
INDEX A # PROGRAM. THE WORDS MAY BE IN NON-
INDEX 26D
DCA 0 # 12 OF THE DATA LIST ARE USED AS
INDEX ITEMP1 # ADDRESSES OF THE DESIRED DATA.
DXCH DNTMBUFF
CAF TWO
ADS ITEMP1
CCS ITEMP2
TCF LOOP
CAF DEC11 # SET UP TO SEND 11 REMAINING WORDS
TS TMINDEX
CAF LDNPHASX
TS DNTMGOTO
EXTEND
INDEX LDATALST
INDEX 37D
DCA 0
TCF DNTMEXIT
DNPHASXA TS TMINDEX
EXTEND
INDEX A # SENDS SNAPSHOT BUFFER.
INDEX FIXLISTB
DCA 0
TCF DNTMEXIT
DNPHASEX CCS TMINDEX # AT END OF SNAPSHOT TRANSMISSION, SET UP
TCF DNPHASXA # TO SEND 26 PRS FROM ANY ERASABLE LOC AS
CAF LDNPHAS3 # SPECIFIED BY WORDS 1 - 26 OF THE DATA
TS DNTMGOTO # LIST.
CAF NOGENWDS
PHASE3A TS TMINDEX # GET DP WORD FROM ANY EBANK.
AD LDATALST
EXTEND
INDEX A
DCA 0 # THIS GETS THE ADDRESS - MUST USE DCA
TS EBANK
MASK LOW8
EXTEND
INDEX A
DCA 3400 # (NOTE ASSEMBLY AS DCA 1400)
DNTMEXIT EXTEND # GENERAL DNTM EXIT LOCATION.
WRITE DNTM1
CA L
TMEXITL EXTEND
WRITE DNTM2
TCF NOQRSM
DNPHASE3 CCS TMINDEX
TCF PHASE3A
CAF LDNPHAS4 # SEND FIXED FORMAT LIST OF DSPTAB AND
TS DNTMGOTO # T2, T1.
CAF SIX
PHASE4A TS TMINDEX
EXTEND # FIXED DATA LIST FOR DSPTAB AND TIME.
INDEX A
INDEX FIXLIST
DCA 0
TCF DNTMEXIT
DNPHASE4 CCS TMINDEX
TCF PHASE4A
CAF LPHASE5 # SET UP FOR CHANNEL TRANSMISSION.
TS DNTMGOTO
CAF THREE # FOUR PAIRS OF CHANNELS.
PHASE5A TS TMINDEX
EXTEND
INDEX A
INDEX FIXLSTCL
READ 0
TS L
EXTEND
INDEX TMINDEX
INDEX FIXLSTCA
READ 0
TCF DNTMEXIT
DNPHASE5 CCS TMINDEX
TCF PHASE5A
TCF DNPHASE1 # START NEXT CYCLE.
# CONSTNATS AND FIXED FORMAT DATA LIST.
LDNPHAS2 ADRES DNPHASE2
LDNPHASX ADRES DNPHASEX
LDNPHAS3 ADRES DNPHASE3
LDNPHAS4 ADRES DNPHASE4
LPHASE5 ADRES DNPHASE5
NOGENWDS DEC 25 # 26 WORDS SENT DURING PHASE 3.
DEC11 DEC 11
FIXLIST ADRES TIME2 # FIXED-FORMAT PORTION INCLUDES BUFFER,
ADRES DSPTAB +10D # DSPTAB, AND TIME.
ADRES DSPTAB +8D
ADRES DSPTAB +6
ADRES DSPTAB +4
ADRES DSPTAB +2
ADRES DSPTAB
FIXLISTB ADRES DNTMBUFF +20D
ADRES DNTMBUFF +18D
ADRES DNTMBUFF +16D
ADRES DNTMBUFF +14D
ADRES DNTMBUFF +12D
ADRES DNTMBUFF +10D
ADRES DNTMBUFF +8D
ADRES DNTMBUFF +6D
ADRES DNTMBUFF +4D
ADRES DNTMBUFF +2D
ADRES DNTMBUFF
FIXLSTCA OCT 32 # CHANNEL ADDRESSES.
OCT 30
OCT 13
OCT 11
FIXLSTCL OCT 33
OCT 31
OCT 14
OCT 12
# SPECIAL DATA LIST FOR HIGH SPEED RADAR SAMPLING. TELEMETERS TABLE OF 12 MEASUREMENTS OF 5 WORDS EACH -
# DATA IN WORDS 1 & 2, RR CDU ANGLES IN 3 & 4, AND TIME 1 IN 5.
FSTRADTM ECADR UPLOCK
ECADR RFAILCNT # COUNTS BAD SAMPLES.
ECADR RSTACK +70D
ECADR RSTACK +68D
ECADR RSTACK +66D
ECADR RSTACK +64D
ECADR RSTACK +62D
ECADR RSTACK +60D
ECADR RSTACK +58D
ECADR RSTACK +56D
ECADR RSTACK +54D
ECADR RSTACK +52D
ECADR RSTACK +50D
ECADR RSTACK +48D
ECADR RSTACK +46D
ECADR RSTACK +44D
ECADR RSTACK +42D
ECADR RSTACK +40D
ECADR RSTACK +38D
ECADR RSTACK +36D
ECADR RSTACK +34D
ECADR RSTACK +32D
ECADR RSTACK +30D
ECADR RSTACK +28D
ECADR RSTACK +26D
ECADR RSTACK +24D
ADRES RSTACK +22D
ADRES RSTACK +20D
ADRES RSTACK +18D
ADRES RSTACK +16D
ADRES RSTACK +14D
ADRES RSTACK +12D
ADRES RSTACK +10D
ADRES RSTACK +8D
ADRES RSTACK +6
ADRES RSTACK +4
ADRES RSTACK +2
ADRES RSTACK
# NOMINAL AURORA DOWNLIST.
NOMDNLST ECADR UPLOCK
ECADR DATAPL +6
ECADR DATAPL +4
ECADR DATAPL +2
ECADR DATAPL
ECADR VLAUN +4
ECADR VLAUN
ECADR ANGX
ECADR ANGY
ECADR ANGZ
ECADR INTY
ECADR DRIFTT
ECADR DRIFTI
ECADR DRIFTO
ECADR MARKSTAT
ECADR THETAD +2
ECADR THETAD
ECADR TANG
ECADR LASTYCMD
ECADR LMPCMD
ECADR REDOCTR # INCLUDES FAILREG.
ECADR STATE +2
ECADR STATE
ECADR OPTY
ECADR CDUZ
ECADR CDUX
ADRES FORVEL
ADRES FINALT
ADRES ALTSAVE
ADRES ALTRATE
ADRES ALT
ADRES TIMEHOLD
ADRES OPTYHOLD
ADRES SAMPLSUM
ADRES OLDATAGD
ADRES RADMODES
ADRES PIPAZ
ADRES PIPAX
ENDDNTMS EQUALS
Computing file changes ...