Merge branch 'master' of github.com:chrislgarry/Apollo-11
This commit is contained in:
176
Luminary099/DAP_INTERFACE_SUBROUTINES.agc
Normal file
176
Luminary099/DAP_INTERFACE_SUBROUTINES.agc
Normal file
@ -0,0 +1,176 @@
|
||||
# Copyright: Public domain.
|
||||
# Filename: DAP_INTERFACE_SUBROUTINES.agc
|
||||
# Purpose: Part of the source code for Luminary 1A build 099.
|
||||
# It is part of the source code for the Lunar Module's (LM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1406-1409
|
||||
# Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting
|
||||
# from the Luminary131/ file of the same
|
||||
# name, using Luminary099 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from
|
||||
# digitized images of a hardcopy from the MIT Museum. The digitization
|
||||
# was performed by Paul Fjeld, and arranged for by Deborah Douglas of
|
||||
# the Museum. Many thanks to both. The images (with suitable reduction
|
||||
# in storage size and consequent reduction in image quality as well) are
|
||||
# available online at www.ibiblio.org/apollo. If for some reason you
|
||||
# find that the images are illegible, contact me at info@sandroid.org
|
||||
# about getting access to the (much) higher-quality images which Paul
|
||||
# actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 001 of AGC program LMY99 by NASA 2021112-61
|
||||
# 16:27 JULY 14, 1969
|
||||
|
||||
# Page 1406
|
||||
BANK 20
|
||||
SETLOC DAPS3
|
||||
BANK
|
||||
|
||||
EBANK= CDUXD
|
||||
COUNT* $$/DAPIF
|
||||
|
||||
# MOD 0 DATE 11/15/66 BY GEORGE W. CHERRY
|
||||
# MOD 1 1/23/67 MODIFICATION BY PETER ADLER
|
||||
#
|
||||
# FUNCTIONAL DESCRIPTION
|
||||
# HEREIN IS A COLLECTION OF SUBROUTINES WHICH ALLOW MISSION CONTROL PROGRAMS TO CONTROL THE MODE
|
||||
# AND INTERFACE WITH THE DAP.
|
||||
#
|
||||
# CALLING SEQUENCES
|
||||
# IN INTERRUPT OR WITH INTERRUPT INHIBITED
|
||||
# TC IBNKCALL
|
||||
# FCADR ROUTINE
|
||||
# IN A JOB WITHOUT INTERRUPT INHIBITED
|
||||
# INHINT
|
||||
# TC IBNKCALL
|
||||
# FCADR ROUTINE
|
||||
# RELINT
|
||||
#
|
||||
# OUTPUT
|
||||
# SEE INDIVIDUAL ROUTINES BELOW
|
||||
#
|
||||
# DEBRIS
|
||||
# A, L, AND SOMETIMES MDUETEMP ODE NOT IN PULSES MODE
|
||||
|
||||
# Page 1407
|
||||
# SUBROUTINE NAMES:
|
||||
# SETMAXDB, SETMINDB, RESTORDB, PFLITEDB
|
||||
# MODIFIED: 30 JANUARY 1968 BY P. S. WEISSMAN TO CREATE RESTORDB.
|
||||
# MODIFIED: 1 MARCH 1968 BY P. S. WEISSMAN TO SAVE EBANK AND CREATE PFLITEDB
|
||||
#
|
||||
# FUNCTIONAL DESCRIPTION:
|
||||
# SETMAXDB -- SET DEADBAND TO 5.0 DEGREES
|
||||
# SETMINDB -- SET DEADBAND TO 0.3 DEGREE
|
||||
# RESTORDB -- SET DEADBAND TO MAX OR MIN ACCORDING TO SETTINGS OF DBSELECT BIT OF DAPBOOLS
|
||||
# PFLITEDB -- SET DEADBAND TO 1.0 DEGREE AND ZERO THE COMMANDED ATTITUDE CHANGE AND COMMANDED RATE
|
||||
#
|
||||
# ALL ENTRIES SET UP A NOVAC JOB TO DO 1/ACCS SO THAT THE TJETLAW SWITCH CURVES ARE POSITIONED TO
|
||||
# REFLECT THE NEW DEADBAND. IT SHOULD BE NOTED THAT THE DEADBAND REFERS TO THE ATTITUDE IN THE P-, U-, AND V-AXES.
|
||||
#
|
||||
# SUBROUTINE CALLED: NOVAC
|
||||
#
|
||||
# CALLING SEQUENCE: SAME AS ABOVE
|
||||
# OR TC RESTORDB +1 FROM ALLCOAST
|
||||
#
|
||||
# DEBRIS: A, L, Q, RUPTREG1, (ITEMPS IN NOVAC)
|
||||
|
||||
RESTORDB CAE DAPBOOLS # DETERMINE CREW-SELECTED DEADBAND.
|
||||
MASK DBSELECT
|
||||
EXTEND
|
||||
BZF SETMINDB
|
||||
|
||||
SETMAXDB CAF WIDEDB # SET 5 DEGREE DEADBAND.
|
||||
+1 TS DB
|
||||
|
||||
EXTEND # SET UP JOB TO RE-POSITION SWITCH CURVES.
|
||||
QXCH RUPTREG1
|
||||
CALLACCS CAF PRIO27
|
||||
TC NOVAC
|
||||
EBANK= AOSQ
|
||||
2CADR 1/ACCJOB
|
||||
|
||||
TC RUPTREG1 # RETURN TO CALLER.
|
||||
|
||||
SETMINDB CAF NARROWDB # SET 0.3 DEGREE DEADBAND.
|
||||
TCF SETMAXDB +1
|
||||
|
||||
PFLITEDB EXTEND # THE RETURN FROM CALLACCS IS TO RUPTREG1.
|
||||
QXCH RUPTREG1
|
||||
TC ZATTEROR # ZERO THE ERRORS AND COMMANDED RATES.
|
||||
CAF POWERDB # SET DB TO 1.0 DEG.
|
||||
TS DB
|
||||
TCF CALLACCS # SET UP 1/ACCS AND RETURN TO CALLER.
|
||||
NARROWDB OCTAL 00155 # 0.3 DEGREE SCALED AT 45.
|
||||
# Page 1408
|
||||
WIDEDB OCTAL 03434 # 5.0 DEGREES SCALED AT 45.
|
||||
POWERDB DEC .02222 # 1.0 DEGREE SCALED AT 45.
|
||||
|
||||
ZATTEROR CAF EBANK6
|
||||
XCH EBANK
|
||||
TS L # SAVE CALLERS EBANK IN L.
|
||||
CAE CDUX
|
||||
TS CDUXD
|
||||
CAE CDUY
|
||||
TS CDUYD
|
||||
CAE CDUZ
|
||||
TS CDUZD
|
||||
TCF STOPRATE +3
|
||||
|
||||
STOPRATE CAF EBANK6
|
||||
XCH EBANK
|
||||
TS L # SAVE CALLERS EBANK IN L.
|
||||
+3 CAF ZERO
|
||||
TS OMEGAPD
|
||||
TS OMEGAQD
|
||||
TS OMEGARD
|
||||
TS DELCDUX
|
||||
TS DELCDUY
|
||||
TS DELCDUZ
|
||||
TS DELPEROR
|
||||
TS DELQEROR
|
||||
TS DELREROR
|
||||
LXCH EBANK # RESTORE CALLERS EBANK.
|
||||
TC Q
|
||||
|
||||
# SUBROUTINE NAME: ALLCOAST
|
||||
# WILL BE CALLED BY FRESH STARTS AND ENGINE OFF ROUTINES.
|
||||
#
|
||||
# CALLING SEQUENCE: (SAME AS ABOVE)
|
||||
#
|
||||
# EXIT: RETURN TO Q.
|
||||
#
|
||||
# SUBROUTINES CALLED: STOPRATE, RESTORDB, NOVAC
|
||||
#
|
||||
# ZERO: (FOR ALL AXES) AOS, ALPHA, AOSTERM, OMEGAD, DELCDU, DELEROR
|
||||
#
|
||||
# OUTPUT: DRIFTBIT/DAPBOOLS, OE, JOB TO DO 1/ACCS
|
||||
#
|
||||
# DEBRIS: A, L, Q, RUPTREG1, RUPTREG2, (ITEMPS IN NOVAC)
|
||||
|
||||
ALLCOAST EXTEND # SAVE Q FOR RETURN
|
||||
QXCH RUPTREG2
|
||||
# Page 1409
|
||||
TC STOPRATE # CLEAR RATE INTERFACE. RETURN WITH A=0
|
||||
LXCH EBANK # AND L=EBANK6. SAVE CALLER'S EBANK.
|
||||
TS AOSQ
|
||||
TS AOSQ +1
|
||||
TS AOSR
|
||||
TS AOSR +1
|
||||
TS ALPHAQ # FOR DOWNLIST.
|
||||
TS ALPHAR
|
||||
TS AOSQTERM
|
||||
TS AOSRTERM
|
||||
LXCH EBANK # RESTORE EBANK (EBANK6 NO LONGER NEEDED)
|
||||
|
||||
CS DAPBOOLS # SET UP DRIFTBIT
|
||||
MASK DRIFTBIT
|
||||
ADS DAPBOOLS
|
||||
TC RESTORDB +1 # RESTORE DEADBANK TO CREW-SELECTED VALUE.
|
||||
|
||||
TC RUPTREG2 # RETURN.
|
||||
|
Reference in New Issue
Block a user