forked from virtualagc/virtualagc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMP_3_-_SUBORBITAL_ABORT.agc
514 lines (383 loc) · 18.8 KB
/
MP_3_-_SUBORBITAL_ABORT.agc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
### FILE="Main.annotation"
## Copyright: Public domain.
## Filename: MP_3_-_SUBORBITAL_ABORT.agc
## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
## It is part of an early development version of the software
## for Apollo Guidance Computer (AGC) on the unmanned Lunar
## Module (LM) flight Apollo 5. Sunburst 37 was the program
## upon which Don Eyles's offline development program Shepatin
## was based; the listing herein transcribed was actually for
## the equivalent revision 0 of Shepatin.
## This file is intended to be a faithful transcription, except
## that the code format has been changed to conform to the
## requirements of the yaYUL assembler rather than the
## original YUL assembler.
## Reference: pp. 644-653
## Assembler: yaYUL
## Contact: Ron Burkey <[email protected]>.
## Website: www.ibiblio.org/apollo/index.html
## Mod history: 2017-05-24 MAS Created from Sunburst 120.
## 2017-06-14 RSB Transcribed. Note that while the comments (date,
## mod no, mod by, assembly revision) identify this
## code as being identical to that in Sunburst 120,
## in reality it has many differences.
## 2017-06-15 HG Fix operand BIT2 -> BIT4
## 2017-06-22 RSB Proofed comment text with
## octopus/ProoferComments.
## Page 644
BANK 25
EBANK= TDEC
# PROGRAM DESCRIPTION- MISSION PHASE 3 - SUBORBITAL ABORT DATE- 28 OCT 66
# MOD NO- 0 LOG SECTION- MP 3 - SUBORBITAL ABORT
# MOD BY- GILBERT ASSEMBLY- SUNBURST REVISION 17
# FUNCTIONAL DESCRIPTION
# IN THE FIRST 10 SECONDS OF THIS PHASE, THE GROUND IS CAUSING THE NOSECONE TO BE JETTISONED AND THE SLA
# PANELS TO BE DEPLOYED. 10 SECONDS AFTER RECEIPT OF THE ABORT COMMAND, MP3 CHECKS TUMBLING AND PROCEEDS ONLY
# WHEN THE INDICATED TUMBLING RATES ARE LESS THAN 3 DEGREES PER SECOND. MP3 THEN STARTS +X TRANSLATION AND
# COMMANDS SIVB/LEM SEPARATION. 13 SECONDS AFTER SEPARATION THE DESCENT ENGINE IS TURNED ON FOR 5 SECONDS, THEN
# IGNITED AGAIN AFTER A 5 SECOND COAST AND LEFT ON THROUGH THE ABORT STAGE COMMAND WHICH IS SENT/RECEIVED 31
# SECONDS LATER. THE APS ENGINE IS TURNED OFF 5 SECONDS AFTER ABORT STAGE, THEN IGNITED AGAIN AFTER A 30 SECOND
# COAST FOR A FINAL 60 SECOND BURN. IMU COMPENSATION CONTINUES THROUGHOUT THIS MISSION PHASE.
# CALLING SEQUENCE
# SUBORBITAL ABORT IS STARTED AT THE DISCRETION OF THE GROUND IN THE EVENT OF AN ABORT DURING THE EARLIER PART
# OF BOOST. KEY CODE 23 IS SENT VIA UPLINK.
# SUBROUTINES CALLED
# NEWMODEX, WAITLIST, FIXDELAY, 1LMP, 2LMP, 1LMP+DT, 2LMP+DT, FLAG1DWN, ENGINEON, ENGINOFF, ENGINOF1, PREREAD,
# READACCS, SERVICER, AVERAGEG.
# NORMAL EXIT MODES
# TASKOVER.
# ALARM OR ABORT EXIT MODES
# MAJOR MODE 71.
# INPUT
# DVSELECT SET FOR READACCS AND SERVICER
# OUTPUT
# ''LAST RITES''
# ERASABLE INITIALIZATION REQUIRED
# KEY CODE 23 SENT VIA UPLINK.
# DEBRIS
# CENTRALS - A,L,Q
# OTHER - ERASABLES IN SUBROUTINES USED
## Page 645
MP03JOB TC NEWMODEX # DISPLAY MAJOR MODE 71
OCT 71
TC PHASCHNG
OCT 47012
DEC 1
EBANK= TDEC
2CADR SBORB1
INHINT
CAF ONE # 10 MS. - CONTINUE UNDER WAITLIST CONTROL
TC WAITLIST
EBANK= TDEC
2CADR SBORB1
TCF ENDOFJOB # AND RELINT
SBORB1 TC PHASCHNG
OCT 05012
OCT 77777
CAF ZERO # INSURE RCS JETS OFF
EXTEND
WRITE 5
TC PHASCHNG
OCT 47012
DEC 100
EBANK= TDEC
2CADR SBORB2
TC FIXDELAY # WAIT 1 SECOND
DEC 100
SBORB2 TC 2LMP+DT
DEC 188 # RCS MAIN S/O VALVES, SYS. A - OPEN **
DEC 190 # RCS MAIN S/O VALVES, SYS. B - OPEN **
DEC 100 # WAIT 1 SECOND
TC 1LMP+DT
DEC 4 # ED BATTERY ACTIVATION - ON *
DEC 100 # WAIT 1 SECOND
TC 2LMP+DT
DEC 189 # RESET **
DEC 191 # RESET **
DEC 100 # WAIT 1 SECOND
TC 1LMP+DT
DEC 6 # RCS PRESSURIZE - FIRE **
## Page 646
DEC 100 # WAIT 1 SECOND
TC 1LMP+DT
DEC 5 # ED BATTERY ACTIVATION - SAFE *
DEC 100 # WAIT 1 SECOND
TC 1LMP+DT
DEC 7 # RESET **
DEC 400 # WAIT 4 SECONDS
TUMBCHK CS FLAGWRD1 # IS VEHICLE RATE LESS THAN 3 DEG/SEC
MASK BIT13
CCS A
TCF TUMB1 # YES
TC FIXDELAY # WAIT .5 SECONDS
DEC 50
TCF TUMBCHK
TUMB1 TC PHASCHNG
OCT 05012
OCT 77777
TC FLAG1DWN # TERMINATE TUMBLE MONITOR
OCT 20000
TC FLAG2DWN # TERMINATE ABORT COMMAND MONITOR
OCT 00400
CAF JETS+X # COMMAND +X TRANSLATION - ON (4 JET)
EXTEND
WRITE 5
TC IBNKCALL
CADR ULLAGE # USE LATER
TC 1LMP+DT
DEC 58 # LEM/S4B SEPARATE ARM - ON *
DEC 50 # WAIT 500 MILLISECONDS
CS DAPBOOLS # ENABLE DAP
MASK GODAPGO
ADS DAPBOOLS
TC IBNKCALL # DEADBAND SELECT - MAX
CADR SETMAXDB
TC FIXDELAY # WAIT 500 MILLISECONDS
DEC 50
## Page 647
TC IBNKCALL # GET VEHICLE RATE
CADR SETRATE # HOLD VEHICLE ATTITUDE RATE
TC 2LMP+DT
DEC 90 # LEM/S4B SEPARATE - COMMAND **
DEC 4 # ED BATTERY ACTIVATION - ON *
DEC 10 # WAIT 100 MILLISECONDS
TC IBNKCALL # DEADBAND SELECT - MIN
CADR SETMINDB
EBANK= LEMMASS1
CAF EBANK5
TS EBANK
EXTEND
DCA LEMMASS1
DXCH MASS
CAF ZERO
TS DELAREA
TS DELAREA +1
EBANK= TDEC
CAF EBANK4
TS EBANK
TC FIXDELAY # WAIT 900 MILLISECONDS
DEC 90
TC ENGINOF1 # INSURE THAT ENGINE IS OFF
TC 2LMP+DT
DEC 59 # LEM/S4B SEPARATE ARM - OFF *
DEC 150 # ENGINE SELECT - DESC ARM *
DEC 1 # WAIT 10 MILLISECONDS
CAF BIT10 # START ABORT STAGE DISCRETE MONITOR
TC WAITLIST
EBANK= TDEC
2CADR ABTSTGDM
TC 2PHSCHNG
OCT 40072
OCT 47014
DEC 512
EBANK= TDEC
2CADR ABTSTGDM
SBORBA TC IBNKCALL # DEADBAND SELECT - MIN
## Page 648
CADR SETMINDB
TC 1LMP+DT
DEC 86 # MANUAL THROTTLE - ON (10 PC) *
DEC 100 # WAIT 1 SECOND
TC 1LMP+DT
DEC 91 # RESET **
DEC 600 # WAIT 6 SECONDS
TC IBNKCALL # HOLD LEM ATTITUDE
CADR STOPRATE
TC PHASCHNG
OCT 47012
DEC 400
EBANK= TDEC
2CADR SBORB3
TC FIXDELAY # WAIT 4 SECONDS
DEC 400
SBORB3 TC 1LMP+DT
DEC 8 # LANDING GEAR DEPLOY - FIRE **
DEC 100 # WAIT 1 SECOND
TC ENGINEON # COMMAND ENGINE - ON
TC PHASCHNG
OCT 47012
DEC 100
EBANK= TDEC
2CADR SBORB4
TC FIXDELAY # WAIT 1 SECOND
DEC 100
SBORB4 TC 2LMP+DT
DEC 5 # ED BATTERY ACTIVATION - SAFE *
DEC 9 # RESET **
DEC 400 # WAIT 4 SECONDS
TC ENGINOFF # COMMAND ENGINE - OFF
TC PHASCHNG
OCT 47012
DEC 500
EBANK= TDEC
2CADR SBORB5
TC FIXDELAY # WAIT 5 SECONDS
## Page 649
DEC 500
SBORB5 TC ENGINEON # COMMAND ENGINE - ON
TC PHASCHNG
OCT 47012
DEC 200
EBANK= TDEC
2CADR SBORB6
TC FIXDELAY # WAIT 2 SECONDS
DEC 200
SBORB6 TC IBNKCALL # COMMAND +X TRANSLATION - OFF (4 JET)
CADR NOULLAGE
TC PHASCHNG
OCT 47012
DEC 1900
EBANK= TDEC
2CADR SBORB7
TC FIXDELAY # WAIT 19 SECONDS
DEC 1900
SBORB7 TC 1LMP+DT
DEC 222 # ASCENT WATER COOLANT VALVE - OPEN **
DEC 200 # WAIT 2 SECONDS
TC 1LMP+DT
DEC 223 # RESET **
DEC 300 # WAIT 3 SECONDS
CAF PRIO30 # THRUST REQUEST DURING JOB
TC FINDVAC
EBANK= ETHROT
2CADR TRST90PC
TC 2PHSCHNG
OCT 40112
OCT 07023
OCT 30000
EBANK= ETHROT
2CADR TRST90PC
TC FIXDELAY # WAIT 4 SECONDS
DEC 400
SBORB8 TC 1LMP+DT
DEC 22 # ABORT STAGE - ARM *
## Page 650
DEC 100 # WAIT 1 SECOND
TC 1LMP+DT
DEC 38 # ABORT STAGE - COMMAND *
DEC 1 # WAIT 10 MS
TC PHASCHNG
OCT 00002
TCF TASKOVER # ABORT STAGE DISCRETE MONITOR RUNNING
SBORBB EXTEND
DCA ENDJOB2C
DXCH FLUSHREG
TC PHASCHNG
OCT 47012
DEC 100
EBANK= TDEC
2CADR SBORB9
EBANK= LEMMASS2
CAF EBANK5
TS EBANK
EXTEND
DCA LEMMASS2
DXCH MASS
EBANK= TDEC
CAF EBANK4
TS EBANK
TC FIXDELAY # WAIT 1 SECOND
DEC 100
SBORB9 TC 1LMP+DT
DEC 151 # ENGINE SELECT - DESC ARM OFF *
DEC 400 # WAIT 4 SECONDS
TC ENGINOFF # COMMAND ENGINE - OFF
TC PHASCHNG
OCT 47012
DEC 100
EBANK= TDEC
2CADR SBORB10
## Page 651
TC FIXDELAY # WAIT 1 SECOND
DEC 100
SBORB10 TC 1LMP+DT
DEC 39 # ABORT STAGE - COMMAND RESET *
DEC 2700 # WAIT 27 SECONDS
TC IBNKCALL # COMMAND +X TRANSLATION - ON (4 JET)
CADR ULLAGE
TC PHASCHNG
OCT 47012
DEC 200
EBANK= TDEC
2CADR SBORB11
TC FIXDELAY # WAIT 2 SECONDS
DEC 200
SBORB11 TC ENGINEON # COMMAND ENGINE - ON
TC PHASCHNG
OCT 47012
DEC 200
EBANK= TDEC
2CADR SBORB12
TC FIXDELAY # WAIT 2 SECONDS
DEC 200
SBORB12 TC IBNKCALL # COMMAND +X TRANSLATION - OFF (4 JET)
CADR NOULLAGE
TC PHASCHNG
OCT 47012
DEC 5800
EBANK= TDEC
2CADR SBORB13
TC FIXDELAY # WAIT 58 SECONDS
DEC 5800
SBORB13 TC ENGINOFF # COMMAND ENGINE - OFF
TC PHASCHNG
OCT 47012
DEC 100
EBANK= TDEC
2CADR SBORB14
## Page 652
TC FIXDELAY # WAIT 1 SECOND
DEC 100
SBORB14 TC 1LMP+DT
DEC 135 # ENGINE SELECT - ASC ARM OFF *
DEC 2900 # WAIT 29 SECONDS
TC FLAG1DWN # KNOCK DOWN AVERAGEG FLAG
OCT 00001
TC IBNKCALL # DEADBAND SELECT - MAX
CADR SETMAXDB
TC PHASCHNG
OCT 00002
TC TASKOVER
ABTSTGDM CAF BIT4 # ABORT STAGE DISCRETE MONITOR
EXTEND
RAND 30
EXTEND
BZF ABTSTG1 # YES
TC FIXDELAY # WAIT .5 SECONDS
DEC 50
TCF ABTSTGDM
ABTSTG1 TC 2PHSCHNG
OCT 00004
OCT 47012
OCT 77777
EBANK= TDEC
2CADR SBORBB
EXTEND
DCA SBORBB2C
DXCH FLUSHREG
CAF PRIO37 # GENERATE RESTART IMMEDIATELY
TC NOVAC
EBANK= TDEC
2CADR ENEMA
TCF TASKOVER
## Page 653
TRST90PC CAF POSMAX # INCREASE THROTTLE 90 PERCENT
TS PCNTF
EXTEND
DCA THRSTLOC
DXCH Z
TC PHASCHNG
OCT 00003
TCF ENDOFJOB
SBORBBJB INHINT
CAF BIT1
TC WAITLIST
EBANK= TDEC
2CADR SBORBB
TCF ENDOFJOB
EBANK= LST1
ENDJOB2C 2CADR ENDOFJOB
EBANK= TDEC
SBORBB2C 2CADR SBORBBJB
EBANK= ETHROT
THRSTLOC 2CADR PCNTFMAX