forked from virtualagc/virtualagc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUPDATE_PROGRAM_PART_2_OF_2.agc
383 lines (372 loc) · 7.22 KB
/
UPDATE_PROGRAM_PART_2_OF_2.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
### FILE="Main.annotation"
## Copyright: Public domain.
## Filename: UPDATE_PROGRAM_PART_2_OF_2.agc
## Purpose: A module for revision 0 of BURST120 (Sunburst). It
## is part of the source code for the Lunar Module's
## (LM) Apollo Guidance Computer (AGC) for Apollo 5.
## Assembler: yaYUL
## Contact: Ron Burkey <info@sandroid.org>.
## Website: www.ibiblio.org/apollo/index.html
## Mod history: 2016-09-30 RSB Created draft version.
## 2016-10-14 RSB Transcribed.
## 2016-10-31 RSB Typos.
## 2016-11-01 RSB More typos.
## 2016-11-02 RSB Removed workaround I had added for TC without
## an operand. Ended up supporting it in yaYUL
## instead, since it had already been supported
## for block 1 and BLK2 targets anyway.
## 2016-12-05 RSB Comment-proofing pass with octopus/ProoferComments completed;
## changes made.
## Page 321
BANK 26
EBANK= STBUFF
UPPART2 CA UPE4
TS EBANK
TC CHECKMM
OCT 27
TC +2
TC 21XCTALM
CA ONE
TS STCOUNT
TC GRABWAIT
CA MPAC
TS UPVERB
CA MODREG
TS UPOLDMOD
TC PHASCHNG
OCT 00076 # 6.7 SPOT TO RESTORE OLD PROGRAM MODE.
TC NEWMODEX
OCT 27
CS UPVERB
AD 21OCT75
EXTEND
BZF +4
CA MPAC +1
TS COMPNUMB
TC UPIN +1
UPNO33 CA ONE # CONTINUE V75
AD ASTBFM1
TS MPAC +2
CA STATENV # UPDATE PROGRAM IS READY TO ACCEPT TARGET
TC NVSBWAIT # UPDATE INDEX. FLASH V 21 N 01
TC ENDIDLE # WAIT FOR V33, V34 OR DATA.
TCF UPVERB34 # V34 TERMINATE UPDATE PROGRAM.
TC UPNO33 # V33, IGNORE
CA FOUR # OCTAL NO. IN STBUFF
TS UPTEMP
CA STBUFF
TC UPRANGE # IS STBUFF GE 1 AND LE 4
TC UPNO33 # NO, TRY AGAIN
INDEX STBUFF # YES
CA AOFC -1
TS COMPNUMB
CA TWO
UPIN TS STCOUNT
CA ASTBFM1
AD STCOUNT
TS MPAC +2
CA STATENV # UPDATE PROGRAM IS READY TO ACCEPT THE
TC NVSBWAIT # NEXT COMPONENT, FLASH V21 N01
## Page 322
TC ENDIDLE # WAIT FOR V33, V34 OR DATA.
TCF UPVERB34 # V34 TERMINATE UPDATE PROGRAM.
TC UPIN +1 # V33 , IGNORE
CS STCOUNT # OCTAL NO.
AD COMPNUMB
EXTEND
BZF +3
INCR STCOUNT
TC UPIN +1
UPHERE CA UPAOFTP1
TS MPAC +2
CA OCTID # INDICATE TO GROUND THAT ALL COMPONENTS
TC NVSBWAIT # HAVE BEEN RECEIVED BY FLASHING V21 N02.
TC ENDIDLE # WAIT FOR V33, V34 OR DATA(COMPONENT NO.)
TCF UPVERB34 # V34 TERMINATE UPDATE PROGRAM.
TC UPSTORE # V33, VERIFY
CA COMPNUMB # OCTAL IDENTIFIER
TS UPTEMP
CA UPTEMP1
TC UPRANGE
TC UPHERE # BAD OCTAL IDENTIFIER
CA UPTEMP1
AD ASTBFM1
TC UPIN +3
UPSTORE TC FREEDSP
INHINT
CS FLAGWRD2 # INVERT VERIFLAG FOR GROUND VERIFY
MASK BIT6
TS Q
CS BIT6
MASK FLAGWRD2
AD Q
TS FLAGWRD2
RELINT
CS UPVERB # IF A VERB 75 OR 76 UPDATE
AD 21OCT75 # STAY IN P27 UNTIL UPDATE IS COMPLETED.
EXTEND # (THIS IS DONE SO THAT NO OTHER UPDATES
BZMF UPRETURN # WILL BE ALLOWED IF ORBIT INT IS ON)
TC CHECKMM
OCT 27
TC UPRETURN
CA UPOLDMOD # RESTORE PRE-P27 MODE
TC NEWMODEX +3 # (THIS WILL CAUSE A RELINT)
UPRETURN INHINT
CA BIT5
MASK FLAGWRD2
EXTEND
BZF XCTALMRM
CS 21OCT64 # BEGIN STORING DATA FROM STBUFF
AD UPVERB # YES, CONTINUE
## Page 323
INDEX A
TC +1
EXTEND
DCA STBUFF +1
TC UPEND64
TC UPEND67 # V67
TC UPEND70 # V70
TC UPEND71 # V71
TC UPEND72 # V72
TC UPEND73
21OCT64 OCT 00064
TC UPEND75 # V75
UPEND76 CS FLAGWRD2 # IS ORBITAL INTEGRATION ON
MASK BIT7
EXTEND
BZF SETUPRCK # YES, SET UP 3SEC CALL TO CHECK AGAIN
TC PHASCHNG
OCT 05026
OCT 33000
INHINT # INHINT BECAUSE PHASCHNG RELINTS AND BECA
# USE RESTARTED JOB WILL NEED IT.
EXTEND # V76
DCA STBUFF # NO, BEGIN LOAD OF UPDATE PARAMETERS
DXCH REFRRECT
EXTEND
DCA STBUFF
DXCH REFRCV
EXTEND
DCA STBUFF +2
DXCH REFRRECT +2
EXTEND
DCA STBUFF +2
DXCH REFRCV +2
EXTEND
DCA STBUFF +4
DXCH REFRRECT +4
EXTEND
DCA STBUFF +4
DXCH REFRCV +4
EXTEND
DCA STBUFF +6
DXCH REFVRECT
EXTEND
DCA STBUFF +6
DXCH REFVCV
EXTEND
DCA STBUFF +8D
DXCH REFVRECT +2
EXTEND
DCA STBUFF +8D
## Page 324
DXCH REFVCV +2
EXTEND
DCA STBUFF +10D
DXCH REFVRECT +4
EXTEND
DCA STBUFF +10D
DXCH REFVCV +4
EXTEND
DCA STBUFF +12D
DXCH TE
CA ZERO
TS DELTAV
TS DELTAV +1
TS DELTAV +2
TS DELTAV +3
TS DELTAV +4
TS DELTAV +5
TS NUV
TS NUV +1
TS NUV +2
TS NUV +3
TS NUV +4
TS NUV +5
TS REFTC
TS REFTC +1
TS REFXKEP
TS REFXKEP +1
CAF PRIO20 # SET UP JOB TO STORE NEW STATE FOR DWNTEL
TC FINDVAC
EBANK= TDEC
2CADR UPDATINT
TCF UPVERB34 +1 # RESTORE PRE-P27 MODE AND EXIT UPDATE
SETUPRCK CA 3SEC21
TC WAITLIST
EBANK= STBUFF
2CADR UPDOAGN
TC PHASCHNG
OCT 47016
DEC 300
EBANK= STBUFF
2CADR UPDOAGN
TC ENDOFJOB
UPDOAGN CA PRIO27
TC NOVAC
EBANK= STBUFF
2CADR UPRETURN
## Page 325
TC TASKOVER
UPEND64 DXCH UPGET
CA STBUFF
TS UPINDEX
CA PRIO27
TC FINDVAC
EBANK= STBUFF
2CADR MGETUP
TC UPQUIT
UPEND67 CA STBUFF
TS UPINDEX
TC POSTJUMP
CADR DOV67
UPEND70 CA STBUFF
TS UPINDEX
CA STBUFF +1
TS UPDT
TC POSTJUMP
CADR DOV70
UPEND71 CA STBUFF
TS UPINDEX
CA STBUFF +1
TS UPPHASE
TC POSTJUMP
CADR DOV71
UPEND72 CA STBUFF
TS UPINDEX
CA STBUFF +1
TS UPPHASE
CA STBUFF +2
TS UPDT
TC POSTJUMP
CADR DOV72
UPEND73 CA STBUFF
TS UPINDEX
TC POSTJUMP
CADR DOV73
UPEND75 TC PHASCHNG
OCT 05026
OCT 33000
INHINT # INHINT BECAUSE PHASCHNG RELINTS AND BECA
# USE RESTARTED JOB WILL NEED IT.
INDEX COMPNUMB # V75
TC # FAN TO V75 ROUTINES
OCTID OCT 02102
TC I=4
I=1 EXTEND
DCA STBUFF +1
DXCH RP
## Page 326
TC UPQUITRM # RESTORE PRE-P27 MODE AND EXIT UPDATE
TC I=2
21OCT75 OCT 75
TC I=4
STATENV OCT 2101
I=3 EXTEND
DCA STBUFF +1
DXCH R1VEC
EXTEND
DCA STBUFF +3
DXCH R1VEC +2
EXTEND
DCA STBUFF +5
DXCH R1VEC +4
EXTEND
DCA STBUFF +7
DXCH TINT
EXTEND
DCA STBUFF +9D
DXCH RCO
TC UPQUITRM # RESTORE PRE-P27 MODE AND EXIT UPDATE
I=2 EXTEND
DCA STBUFF +1
DXCH CPT6/2
EXTEND
DCA STBUFF +3
DXCH CPT6/2 +2
EXTEND
DCA STBUFF +5
DXCH CPT6/2 +4
TC UPQUITRM # RESTORE PRE-P27 MODE AND EXIT UPDATE
I=4 CS FLAGWRD2 # IS ORBITAL INTEGRATION ON
MASK BIT7
EXTEND
BZF SETUPRCK # YES
CAE STBUFF +1
AD TE +1
TS STBUFF +13D
CAF ZERO
AD TE
TS STBUFF +12D
CA ZERO
TS L
DXCH TIME2
DXCH STBUFF +10D
CA FIVE
TC NEWPHASE
OCT 00006
I=4.CONT INHINT
## Page 327
CA ZERO
TS MPAC +2 # FOR TPAGREE
EXTEND
DCA STBUFF +12D
DXCH TE
CA STBUFF +1
AD STBUFF +11D
TS L
CA ZERO
AD STBUFF +10D
DXCH MPAC
TC TPAGREE # FORCE SIGN AGREEMENT
DXCH MPAC
DAS TIME2 # NEW CLOCK
CAF SEVEN # 6.7 SPOT TO RESTORE OLD PROGRAM MODE.
TC NEWPHASE
OCT 00006
TC UPQUITRM # RESTORE PRE-P27 MODE AND EXIT UPDATE
UPVERB34 TC FREEDSP
UPQUITRM TC CHECKMM # RESTORE MODE AND UPQUIT
OCT 27
TCF UPQUIT
CA UPOLDMOD
TC NEWMODEX +3
UPQUIT TC BANKCALL # SETS 6.0 SPOT AND DOES ENDOFJOB
CADR ENDUP
UPRANGE EXTEND
BZMF UPRAUS # C(A) LE ZERO RETURN TO Q
CS A
INCR A
AD UPTEMP
EXTEND
BZMF UPRAUS # C(A) GT C(LOC) RETURN TO Q
INCR Q
UPRAUS TC Q # C(A) LE C(LOC) AND GT 0 RETURN TO Q+1
XCTALMRM TC CHECKMM
OCT 27
TCF +3
CA UPOLDMOD
TC NEWMODEX +3
TC PHASCHNG
OCT 00006
21XCTALM TC BANKCALL
CADR XACTALM
UPE4 OCT 2000
AOFC OCT 00003
OCT 00007
## Page 328
OCT 00013
OCT 00002
UPAOFTP1 ECADR UPTEMP1
ASTBFM1 ECADR STBUFF -1
3SEC21 DEC 300