162 lines
4.7 KiB
ArmAsm
162 lines
4.7 KiB
ArmAsm
![]() |
# Copyright: Public domain.
|
||
|
# Filename: P76.agc
|
||
|
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||
|
# It is part of the source code for the Command Module's (CM)
|
||
|
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||
|
# Assembler: yaYUL
|
||
|
# Contact: Hartmuth Gutsche <hgutsche@xplornet.com>.
|
||
|
# Website: www.ibiblio.org/apollo.
|
||
|
# Pages: pp 511-513
|
||
|
# Mod history: 2009-05-08 HG Adapting from the Luminary131/ file
|
||
|
# of the same name, using Comanche055 page
|
||
|
# images 0511.jpg - 0513.jpg.
|
||
|
#
|
||
|
# 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 055 of AGC program Comanche by NASA
|
||
|
# 2021113-051. 10:28 APR. 1, 1969
|
||
|
#
|
||
|
# This AGC program shall also be referred to as
|
||
|
# Colossus 2A
|
||
|
|
||
|
# Page 511
|
||
|
# 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 INIITIALIZATION REQUIRED -- NONE.
|
||
|
# 4) CALLING SEQUENCES AND EXIT MODES -- CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76E.
|
||
|
# 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, CMOONFLG, INTYPFLG, RASFLAG, AND MARKCTR.
|
||
|
|
||
|
BANK 30
|
||
|
SETLOC P76LOC
|
||
|
BANK
|
||
|
|
||
|
COUNT* $$/P76
|
||
|
|
||
|
EBANK= TIG
|
||
|
|
||
|
P76 TC UPFLAG
|
||
|
ADRES TRACKFLG
|
||
|
|
||
|
CAF V06N84 # FLASH LAST DELTA V.
|
||
|
TC BANKCALL # AND WAIT FOR KEYBOARD ACTION.
|
||
|
CADR GOFLASH
|
||
|
TCF ENDP76
|
||
|
TC +2 # PROCEED
|
||
|
TC -5 # STORE DATA AND REPEAT FLASHING
|
||
|
CAF V06N84 +1 # FLASH VERB 06 NOUN 33, DISPLAY LAST TIG,
|
||
|
TC BANKCALL # AND WAIT FOR KEYBOARD ACTION.
|
||
|
CADR GOFLASH
|
||
|
TCF ENDP76
|
||
|
TC +2
|
||
|
TC -5
|
||
|
TC INTPRET # RETURN TO INTERPRETIVE CODE
|
||
|
DLOAD # SET D(MPAC)=TIG IN CSEC B28
|
||
|
TIG
|
||
|
STCALL TDEC1 # SET TDEC1=TIG FOR ORBITAL INTEGRATION
|
||
|
OTHPREC
|
||
|
COMPMAT VLOAD UNIT
|
||
|
RATT
|
||
|
# Page 512
|
||
|
VCOMP # U(-R)
|
||
|
STORE 24D # U(-R) TO 24D
|
||
|
VXV UNIT # U(-R) X V = U(V X R)
|
||
|
VATT
|
||
|
STORE 18D
|
||
|
VXV UNIT # U(V X R) X U(-R) = U((R X V) X R)
|
||
|
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
|
||
|
CALL
|
||
|
P76SUB1 # SET/CLEAR MOONFLAG
|
||
|
VLOAD
|
||
|
RATT1
|
||
|
STORE RRECT
|
||
|
STODL RCV
|
||
|
TAT
|
||
|
STOVL TET
|
||
|
VATT1
|
||
|
CALL
|
||
|
MINIRECT
|
||
|
EXIT
|
||
|
TC PHASCHNG
|
||
|
OCT 04024
|
||
|
# Page 513
|
||
|
TC UPFLAG
|
||
|
ADRES REINTFLG
|
||
|
|
||
|
TC INTPRET
|
||
|
CALL
|
||
|
ATOPOTH
|
||
|
SSP EXIT
|
||
|
QPRET
|
||
|
OUT
|
||
|
TC BANKCALL # PERMIT USE OF ORBITAL INTEGRATION
|
||
|
CADR INTWAKE1
|
||
|
OUT EXIT
|
||
|
ENDP76 CAF ZERO
|
||
|
TS MARKCTR # CLEAR RR TRACKING MARK COUNTER
|
||
|
TS VHFCNT
|
||
|
|
||
|
CAF NEGONE
|
||
|
TS MRKBUF2 # INVALIDATE MARK BUFFER
|
||
|
|
||
|
TCF GOTOP00H
|
||
|
|
||
|
V06N84 NV 0684
|
||
|
NV 0633
|
||
|
P76SUB1 CLEAR SLOAD
|
||
|
MOONFLAG
|
||
|
X2
|
||
|
BHIZ SET # X2=0...CLEAR MOONFLAG
|
||
|
+2 # =2.....SET MOONFLAG
|
||
|
MOONFLAG
|
||
|
RVQ
|
||
|
|