Skip to content

Commit dc4ea67

Browse files
committed
Add remaining Apollo 11 source
1 parent ece623d commit dc4ea67

File tree

128 files changed

+85238
-4771
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+85238
-4771
lines changed

.DS_Store

16 KB
Binary file not shown.

AGC_BLOCK_TWO_SELF-CHECK.s

+518
Large diffs are not rendered by default.

AGC_BLOCK_TWO_SELF_CHECK.s

+511
Large diffs are not rendered by default.

AGS_INITIALIZATION.s

+229
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
# Copyright: Public domain.
2+
# Filename: AGS_INITIALIZATION.agc
3+
# Purpose: Part of the source code for Luminary 1A build 099.
4+
# It is part of the source code for the Lunar Module's (LM)
5+
# Apollo Guidance Computer (AGC), for Apollo 11.
6+
# Assembler: yaYUL
7+
# Contact: Hartmuth Gutsche <[email protected]>.
8+
# Website: www.ibiblio.org/apollo.
9+
# Pages: 206-210
10+
# Mod history: 2009-05-19 HG Transcribed from page images.
11+
#
12+
# This source code has been transcribed or otherwise adapted from
13+
# digitized images of a hardcopy from the MIT Museum. The digitization
14+
# was performed by Paul Fjeld, and arranged for by Deborah Douglas of
15+
# the Museum. Many thanks to both. The images (with suitable reduction
16+
# in storage size and consequent reduction in image quality as well) are
17+
# available online at www.ibiblio.org/apollo. If for some reason you
18+
# find that the images are illegible, contact me at [email protected]
19+
# about getting access to the (much) higher-quality images which Paul
20+
# actually created.
21+
#
22+
# Notations on the hardcopy document read, in part:
23+
#
24+
# Assemble revision 001 of AGC program LMY99 by NASA 2021112-61
25+
# 16:27 JULY 14, 1969
26+
27+
# Page 206
28+
29+
# PROGRAM NAME: AGS INITIALIZIZATION (R47)
30+
#
31+
# WRITTEN BY: RHODE/KILROY/FOLLETT
32+
#
33+
# MOD NO.: 0
34+
# DATE: 23 MARCH 1967
35+
# MOD BY: KILROY
36+
#
37+
# MOD NO.: 1
38+
# DATE: 28 OCTOBER 1967
39+
# MOD BY: FOLLETT
40+
#
41+
# FUNCT. DESC.: (1) TO PROVIDE THE AGS ABORT ELECTRONICS ASSEMBLY (AEA) WITH THE LEM AND CSM STATE VECTORS
42+
# (POSITION,VELOCITY,TIME) IN LEM IMU COORDINATES BY MEANS OF THE LGC DIGITAL DOWNLINK.
43+
#
44+
# (2) TO ZERO THE ICDU, LGC, AND AEA GIMBAL ANGLE COUNTER SIMULTANEOUSLY IN ORDER TO ESTABLISH A
45+
# COMMON ZERO REFERENCE FOR THE MEASUREMENT OF GIMBAL (EULER) ANGLES WHICH DEFINE LEM ATTITUDE
46+
#
47+
# (3) TO ESTABLISH THE GROUND ELAPSED TIME OF AEA CLOCK ZERO. (IF AN AEA CLOCK ZERO IS
48+
# REQUESTED DURING THIS PROGRAM
49+
#
50+
# LOG SECTION: AGS INITIALIZATION
51+
#
52+
# CALLING SEQ: PROGRAM IS ENTERED WHEN ASTRONAUT KEYS V47E ON DSKY.
53+
# R47 MAY BE CALLED AT ANY TIME EXCEPT WHEN ANOTHER EXTENDED VERB IS IN PROGRESS
54+
#
55+
# SUBROUTINES
56+
# CALLED:
57+
#
58+
# NORMAL EXIT: ENDEXT
59+
#
60+
# ALARM/ABORT: ALARM -- BAD REFSMMAT -- CODE:220
61+
# OPERATOR ERROR IF V47 SELECTED DURING ANOTHER EXTENDED VERB.
62+
#
63+
# ERASABLES
64+
# USED: SAMPTIME (2) TIME OF :ENTER: KEYSTROKE
65+
# AGSK (2) GROUND ELAPSED TIME OF THE AEA CLOCK :ZERO:
66+
# AGSBUFF (140) CONTAINS AGS INITIALIZATION DATA (SEE :OUTPUT: BELOW)
67+
# AGSWORD (1) PREVIOUS DOWNLIST SAVED HERE
68+
69+
EBANK= AGSBUFF
70+
71+
BANK 40
72+
SETLOC R47
73+
BANK
74+
75+
COUNT* $$/R47
76+
77+
AGSINIT CAF REFSMBIT
78+
MASK FLAGWRD3 # CHECK REFSMFLG.
79+
CCS A
80+
# Page 207
81+
TC REDSPTEM # REFSMMAT IS OK
82+
TC ALARM # REFSMMAT IS BAD
83+
OCT 220
84+
TC ENDEXT
85+
86+
NEWAGS EXTEND
87+
DCA SAMPTIME # TIME OF THE :ENTER: KEYSTROKE
88+
DXCH AGSK # BECOMES NEW AEA CLOCK :ZERO:
89+
90+
REDSPTEM EXTEND
91+
DCA AGSK
92+
DXCH DSPTEMX
93+
AGSDISPK CAF V06N16
94+
TC BANKCALL # R1 = 00XXX. HRS., R2 = 000XX MIN.,
95+
CADR GOMARKF # R3 = 0XX.XX SEC.
96+
TC ENDEXT # TERMINATE RETURN
97+
TC AGSVCALC # PROCEED RETURN
98+
CS BIT6 # IS ENTER VIA A V32
99+
AD MPAC
100+
EXTEND
101+
BZF NEWAGS # YES, USE KEYSTROKE TIME FOR NEW AGSK
102+
103+
EXTEND # NO, NEW AGSK LOADED VIA V25
104+
DCA DSPTEMX # LOADED INTO DSPTEMX BY KEYING
105+
TC REDSPTEM -1 # V25E FOLLOWED BY HRS.,MINS.,SECS.
106+
# DISPLAY THE NEW K.
107+
108+
AGSVCALC TC INTPRET
109+
SET
110+
NODOFLAG # DON'T ALLOW V37
111+
SET EXIT
112+
XDSPFLAG
113+
114+
CAF V06N16
115+
TC BANKCALL
116+
CADR EXDSPRET
117+
118+
TC INTPRET # EXTRAPOLATE LEM AND CSM STATE VECTORS
119+
RTB # TO THE PRESENT TIME
120+
LOADTIME # LOAD MPAC WITH TIME2,TIME1
121+
STCALL TDEC1 # CALCULATE LEM STATE VECTOR
122+
LEMPREC
123+
CALL # CALL ROUTINE TO CONVERT TO SM COORDS AND
124+
SCALEVEC # PROVIDE PROPER SCALING
125+
STODL AGSBUFF # (LEMPREC AND CSMPREC LEAVE TDEC1 IN TAT)
126+
TAT # TAT = TIME TO WHICH RATT1 AND VATT1 ARE
127+
STCALL TDEC1 # COMPUTED (CSEC SINCE CLOCK START B-28).
128+
CSMPREC # CALCULATE CSM STATE VECTOR FOR SAME TIME
129+
CALL
130+
SCALEVEC
131+
# Page 208
132+
STODL AGSBUFF +6
133+
TAT
134+
DSU DDV # CALCULATE AND STORE THE TIME
135+
AGSK
136+
TSCALE
137+
STORE AGSBUFF +12D
138+
EXIT
139+
140+
CAF LAGSLIST
141+
TS DNLSTCOD
142+
143+
CAF 20SEC # DELAY FOR 20 SEC WHILE THE AGS
144+
TC BANKCALL # DOWNLIST IS TRANSMITTED
145+
CADR DELAYJOB
146+
147+
CA AGSWORD
148+
TS DNLSTCOD # RETURN TO THE OLD DOWNLIST
149+
CAF IMUSEBIT
150+
MASK FLAGWRD0 # CHECK IMUSE FLAG.
151+
CCS A
152+
TC AGSEND # IMU IS BEING USED -- DO NOT ZERO
153+
CKSTALL CCS IMUCADR # CHECK FOR IMU USAGE WHICH AVOIDS THE
154+
TCF +3 # IMUSE BIT: I.E., IMU COMPENSATION.
155+
TCF +6 # FREE. GO AHEAD WITH THE IMU ZERO.
156+
TCF +1
157+
+3 CAF TEN # WAIT .1 SEC AND TRY AGAIN.
158+
TC BANKCALL
159+
CADR DELAYJOB
160+
TCF CKSTALL
161+
162+
+6 TC BANKCALL # IMU IS NOT IN USE
163+
CADR IMUZERO # SET IMU ZERO DISCRETE FOR 320 MSECS.
164+
TC BANKCALL # WAIT 3 SEC FOR COUNTERS TO INCREMENT
165+
CADR IMUSTALL
166+
TC AGSEND
167+
AGSEND TC DOWNFLAG # ALLOW V37
168+
ADRES NODOFLAG
169+
170+
CAF V50N16
171+
TC BANKCALL
172+
CADR GOMARK3
173+
TCF ENDEXT
174+
TCF ENDEXT
175+
TC ENDEXT
176+
177+
SCALEVEC VLOAD MXV
178+
VATT1
179+
REFSMMAT
180+
VXSC VSL2
181+
VSCALE
182+
# Page 209
183+
VAD VAD # THIS SECTION ROUNDS THE VECTOR, AND
184+
AGSRND1 # CORRECTS FOR THE FACT THAT THE AGS
185+
AGSRND2 # IS A 2'S COMPLEMENT MACHINE WHILE THE
186+
RTB # LGC IS A 1'S COMPLEMENT MACHINE.
187+
VECSGNAG
188+
STOVL VATT1
189+
RATT1
190+
MXV VXSC
191+
REFSMMAT
192+
RSCALE
193+
VSL8 VAD # AGAIN THIS SECTION ROUNDS. TWO VECTORS
194+
AGSRND1 # ARE ADDED TO DEFEAT ALSIGNAG IN THE
195+
VAD RTB # CASE OF A HIGH-ORDER ZERO COUPLED WITH
196+
AGSRND2 # A LOW ORDER NEGATIVE PART.
197+
VECSGNAG
198+
LXA,1
199+
VATT1
200+
SXA,1 LXA,1
201+
MPAC +1
202+
VATT1 +2
203+
SXA,1 LXA,1
204+
MPAC +4
205+
VATT1 +4
206+
SXA,1 RVQ
207+
MPAC +6
208+
209+
LAGSLIST = ONE
210+
V01N14 VN 0114
211+
V50N00A VN 5000
212+
V00N25 EQUALS OCT31
213+
V06N16 VN 0616
214+
V00N34 EQUALS 34DEC
215+
V50N16 VN 5016
216+
TSCALE 2DEC 100 B-10 # CSEC TO SEC SCALE FACTOR
217+
20SEC DEC 2000
218+
RSCALE 2DEC 3.280839 B-3 # METERS TO FEET SCALE FACTOR
219+
VSCALE 2DEC 3.280839 E2 B-9 # METERS/CS TO FEET/SEC SCALE FACTOR
220+
AGSRND1 2OCT 0000060000
221+
2OCT 0000060000
222+
2OCT 0000060000
223+
AGSRND2 2OCT 0000037777
224+
2OCT 0000037777
225+
S# Page 210
226+
2OCT 0000037777
227+
228+
SBANK= LOWSUPER # FOR SUBSEQUENT LOW 2CADRS.
229+

0 commit comments

Comments
 (0)