forked from chrislgarry/Apollo-11
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Q_R-AXIS_RCS_AUTOPILOT.s
860 lines (767 loc) · 16.9 KB
/
Q_R-AXIS_RCS_AUTOPILOT.s
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
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
# Copyright: Public domain.
# Filename: Q_R-AXIS_RCS_AUTOPILOT.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: 1442-1459
# Mod history: 2009-05-27 RSB Adapted from the corresponding
# Luminary131 file, using page
# images from Luminary 1A.
# 2009-06-07 RSB Corrected "DEC 96.0" to "DEC 96", since
# the former is not compatible with yaYUL.
#
# 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 1442
BANK 17
SETLOC DAPS2
BANK
EBANK= CDUXD
COUNT* $$/DAPQR
CALLQERR CA BIT13 # CALCULATE Q,R ERRORS UNLESS THESE AXES
EXTEND # ARE IN MANUAL RATE COMMAND.
RAND CHAN31
CCS A
TCF +5 # IN AUTO COMPUTE Q,R ERRORS
CS DAPBOOLS # IN MANUAL RATE COMMAND?
MASK OURRCBIT
EXTEND
BZF Q,RORGTS # IF SO BYPASS CALCULATION OF ERROS.
TC QERRCALC
Q,RORGTS CCS COTROLER # CHOOSE CONTROL SYSTEM FOR THIS DAP PASS:
TCF GOTOGTS # GTS (ALTERNATES WITH RCS WHEN DOCKED)
TCF TRYGTS # GTS IF ALLOWED, OTHERWISE RCS
RCS CAF ZERO # RCS (TRYGTS MAY BRANCH TO HERE)
TS COTROLER
DXCH EDOTQ
TC ROT-TOUV
DXCH OMEGAU
# X - TRANSLATION
#
# INPUT: BITS 7,8 OF CH31 (TRANSLATION CONTROLLER)
# ULLAGER
# APSFLAG, DRIFTBIT
# ACC40R2X, ACRBTRAN
#
# OUTPUT: NEXTU, NEXTV CODES OF TRANSLATION FOR AFTER ROTATION
# SENSETYP TELL ROTATION DIRECTION AND DESIRE
#
# X-TRANS POLICIES ARE EITHER 4 JETS OR A DIAGONAL PAIR. IN 2-JET TRANSLATION THE SYSTEM IS SPECIFIED. A FAILURE
# WILL OVERRIDE THIS SPECIFICATION. AN ALARM RESULTS WHEN NO POLICY IS AVAILABLE BECAUSE OF FAILURES.
SENSEGET CA BIT7 # INPUT BITS OVERRIDE THE INTERNAL BITS
EXTEND # SENSETYP WILL NOT OPPOSE ANYTRANS
RAND CHAN31
EXTEND
BZF +X0RULGE
# Page 1443
CA BIT8
EXTEND
RAND CHAN31
EXTEND
BZF -XTRANS
CA ULLAGER
MASK DAPBOOLS
CCS A
TCF +X0RULGE
TS NEXTU # STORE NULL TRANSLATION POLICIES
TS NEXTV
CS DAPBOOLS # BURNING OR DRIFTING?
MASK DRIFTBIT
EXTEND
BZF TSENSE
CA FLGWRD10 # DPS (INCLUDING DOCKED) OR APS?
MASK APSFLBIT
CCS A
CAF TWO # FAVOR +X JETS DURING AN APS BURN.
TSENSE TS SENSETYP
TCF QRCONTRL
+X0RULGE CAF ONE
-XTRANS AD FOUR
TS ROTINDEX
AD NEG3
TS SENSETYP # FAVOR APPROPRIATE JETS DURING TRANS.
CA DAPBOOLS
MASK ACC4OR2X
CCS A
TCF TRANS4
CA DAPBOOLS
MASK AORBTRAN
CCS A
CA ONE # THREE FOR B
AD TWO # TWO FOR A SYSTEM 2 JET X TRANS
TSNUMBRT TS NUMBERT
TC SELCTSUB
CCS POLYTEMP
TCF +3
TC ALARM
OCT 02002
CA 00314OCT
MASK POLYTEMP
TSNEXTS TS NEXTU
# Page 1444
CS 00314OCT
MASK POLYTEMP
TS NEXTV
# Q,R-AXES RCS CONTROL MODE SELECTION
# SWITCHES INDICATION WHEN SET
# BIT13/CHAN31 AUTO, GO TO ATTSTEER
# PULSES MINIMUM IMPULSE MODE
# (OTHERWISE) RATE COMMAND/ATTITUDE HOLD MODE
QRCONTRL CA BIT13 # CHECK MODE SELECT SWITCH.
EXTEND
RAND CHAN31 # BITS INVERTED
CCS A
TCF ATTSTEER
CHKBIT10 CAF PULSES # PULSES = 1 FOR MIN IMP USE OF RHC
MASK DAPBOOLS
EXTEND
BZF CHEKSTIK # IN ATT-HOLD/RATE-COMMAND IF BIT10=0
# MINIMUM IMPULSE MODE
INHINT
TC IBNKCALL
CADR ZATTEROR
CA ZERO
TS QERROR
TS RERROR # FOR DISPLAYS
RELINT
EXTEND
READ CHAN31
TS TEMP31 # IS EQUAL TO DAPTEMP1
CCS OLDQRMIN
TCF CHECKIN
FIREQR CA TEMP31
MASK BIT1
EXTEND
BZF +QMIN
CA TEMP31
MASK BIT2
EXTEND
BZF -QMIN
CA TEMP31
MASK BIT5
# Page 1445
EXTEND
BZF +RMIN
CA TEMP31
MASK BIT6
EXTEND
BZF -RMIN
TCF XTRANS
CHECKIN CS TEMP31
MASK OCT63
TS OLDQRMIN
TCF XTRANS
+QMIN CA 14MS
TS TJU
CS 14MS
TCF MINQR
-QMIN CS 14MS
TS TJU
CA 14MS
TCF MINQR
+RMIN CA 14MS
TCF +2
-RMIN CS 14MS
TS TJU
MINQR TS TJV
CA MINADR
TS RETJADR
CA ONE
TS OLDQRMIN
MINRTN TS AXISCTR
CA DAPBOOLS
MASK CSMDOCKD
EXTEND
BZF MIMRET
INDEX AXISCTR # IF DOCKED, USE 60MS MINIMUM IMPULSE
CCS TJU
CA 60MS
TCF +2
CS 60MS
INDEX AXISCTR
TS TJU
MIMRET CA DAPBOOLS
MASK AORBTRAN
CCS A
CA ONE
AD TWO
TS NUMBERT
# Page 1446
TCF AFTERTJ
60MS DEC 96 # RSB 2009 -- was 96.0.
MINADR GENADR MINRTN
OCT63 OCT 63
14MS = +TJMINT6
TRANS4 CA FOUR
TCF TSNUMBRT
# RATE COMMAND MODE:
#
# DESCRIPTION (SAME AS P-AXIS)
CHEKSTIK TS INGTS # NOT IN GTS WHEN IN ATT HOLD
CS ONE # 1/ACCS WILL DO THE NULLING DRIVES
TS COTROLER # COME BACK TO RCS NEXT TIME
CA BIT15
MASK CH31TEMP
EXTEND
BZF RHCACTIV # BRANCH IF OUT OF DETENT.
CA OURRCBIT # ***********
MASK DAPBOOLS # *IN DETENT* CHECK FOR MANUAL CONTROL
EXTEND # *********** LAST TIME.
BZF STILLRCS
CS BIT9
MASK RCSFLAGS
TS RCSFLAGS # BIT 9 IS 0.
TCF DAMPING
40CYCL OCT 50
1/10S OCT 1
LINRAT DEC 46
# ===========================================================
DAMPING CA ZERO
TS SAVEHAND
TS SAVEHAND +1
RHCACTIV CCS SAVEHAND # ******************
TCF +3 # Q,R MANUAL CONTROL WC = A*(B+|D|)*D
TCF +2 # ******************
TCF +1
DOUBLE # WHERE
DOUBLE #
AD LINRAT # WC = COMMANDED ROTATIONAL RATE
EXTEND # A = QUADRATIC SENSITIVITY FACTOR
MP SAVEHAND # B = LINEAR/QUADRATIC SENSITIVITY
CA L # |D| = ABS. VALUE OF DEFLECTION
EXTEND # D = HAND CONTROLLER DEFLECTION
MP STIKSENS
XCH QLAST # COMMAND Q RATE, SCALED 45 DEG/SEC
COM
# Page 1447
AD QLAST
TS DAPTEMP3
CCS SAVEHAND +1
TCF +3
TCF +2
TCF +1
DOUBLE
DOUBLE
AD LINRAT
EXTEND
MP SAVEHAND +1
CA L
EXTEND
MP STIKSENS
XCH RLAST
COM
AD RLAST
TS DAPTEMP4
CS QLAST # INTERVAL.
AD OMEGAQ
TS QRATEDIF
CS RLAST
AD OMEGAR
TS RRATEDIF
ENTERQR DXCH QRATEDIF # TRANSFORM RATES FROM Q,R TO U,V AXES
TC ROT-TOUV
DXCH URATEDIF
CCS DAPTEMP3 # CHECK IF Q COMMAND CHANGE EXCEEDS
TC +3 # BREAKOUT LEVEL. IF NOT, CHECK R.
TC +2
TC +1
AD -RATEDB
EXTEND
BZMF +2
TCF ENTERUV -2 # BREAKOUT LEVEL EXCEEDED. DIRECT RATE.
CCS DAPTEMP4 # R COMMAND BREAKOUT CHECK.
TC +3
TC +2
TC +1
AD -RATEDB
EXTEND
BZMF +2
TCF ENTERUV -2 # BREAKOUT LEVEL EXCEEDED. DIRECT RATE.
CA RCSFLAGS # BREAKOUT LEVEL NOT EXCEEDED. CHECK FOR
MASK QRBIT # DIRECT RATE CONTROL LAST TIME.
EXTEND
BZF +2
TCF ENTERUV # CONTINUE DIRECT RATE CONTROL.
TCF STILLRCS # PSEUDO-AUTO CONTROL.
CA 40CYCL
# Page 1448
TS TCQR
ENTERUV INHINT # DIRECT RATE CONTROL
TC IBNKCALL
FCADR ZATTEROR
RELINT
CA ZERO
TS DYERROR
TS DYERROR +1
TS DZERROR
TS DZERROR +1
CCS URATEDIF
TCF +3
TCF +2
TCF +1
AD TARGETDB # IF TARGET DB IS EXCEEDED, CONTINUE
EXTEND # DIRECT RATE CONTROL.
BZMF VDB
CCS VRATEDIF
TCF +3
TCF +2
TCF +1
AD TARGETDB
EXTEND
BZMF +2
TCF QRTIME
CA ZERO
TS VRATEDIF
TCF QRTIME
VDB CCS VRATEDIF
TC +3
TC +2
TC +1
AD TARGETDB # IF TARGET DB IS EXCEEDED, CONTINUE
EXTEND # DIRECT RATE CONTROL. IF NOT, FIRE AND
BZMF TOPSEUDO # SWITCH TO PSEUDO-AUTO CONTROL ON NEXT
CA ZERO # PASS.
TS URATEDIF
QRTIME CA TCQR # DIRECT RATE TIME CHECK.
EXTEND
BZMF +5 # BRANCH IF TIME EXCEEDS 4 SEC.
CS RCSFLAGS
MASK QRBIT
ADS RCSFLAGS # BIT 11 IS 1.
TC +4
TOPSEUDO CS QRBIT
MASK RCSFLAGS
TS RCSFLAGS # BIT 11 IS 0.
CA HANDADR
TS RETJADR
CA ONE
# Page 1449
BACKHAND TS AXISCTR
CA FOUR
TS NUMBERT
INDEX AXISCTR
INDEX SKIPU
TCF +1
CA FOUR
INDEX AXISCTR
TS SKIPU
TCF LOOPER
INDEX AXISCTR
CCS URATEDIF # INDEX AXIS QUANTITY
CA ZERO # 0 -U 1/JETACC-AOSU
TCF +2 # 1 +U 1/JETACC+AOSU
CA ONE # 16 -V 1/JETACC-AOSV
INDEX AXISCTR # 17 +V 1/JETACC+AOSV
AD AXISDIFF # JETACC = 2 JET ACCELERATION (1 FOR FAIL)
INDEX A
CS 1/ANET2 +1
EXTEND
INDEX AXISCTR # UPRATEDIF IS SCALED AT PI/4 RAD/SEC
MP URATEDIF # JET TIME IN A, SCALED 32 SEC
TS Q
DAS A
AD Q
TS A # OVERFLOW SKIP
TCF +2
CA Q # RIGHT SIGN AND BIGGER THAN 150MS
SETTIME INDEX AXISCTR
TS TJU # SCALED AT 10.67 WHICH IS CLOSE TO 10.24
TCF AFTERTJ
ZEROTJ CA ZERO
TCF SETTIME
HANDADR GENADR BACKHAND
# GTS WILL BE TRIED IF
# 1. USEQRJTS = 0,
# 2. ALLOWGTS POS,
# 3. JETS ARE OFF (Q,R-AXES)
TRYGTS CAF USEQRJTS # IS JET USE MANDATORY. (AS LONG AS
MASK DAPBOOLS # USEQRJTS BIT IS NOT BIT 15, CCS IS SAFE.)
CCS A
TCF RCS
CCS ALLOWGTS # NO. DOES AOSTASK OK CONTROL FOR GTS?
# Page 1450
TCF +2
TCF RCS
EXTEND
READ CHAN5
CCS A
TCF CHKINGTS
GOTOGTS EXTEND
DCA GTSCADR
DTCB
CHKINGTS CCS INGTS # WAS THE TRIM GIMBAL CONTROLLING
TCF +2 # YES. SET UP A DAMPED NULLING DRIVE.
TCF RCS # NO. NULLING WAS SET UP BEFORE. DO RCS.
INHINT
TC IBNKCALL
CADR TIMEGMBL
RELINT
CAF ZERO
TS INGTS
TCF RCS
EBANK= CDUXD
GTSCADR 2CADR GTS
# Page 1451
# SUBROUTINE TO COMPUTE Q,R-AXES ATTITUDE ERRORS FOR USE IN THE RCS AND GTS CONTROL LAWS AND THE DISPLAYS.
QERRCALC CAE CDUY # Q-ERROR CALCULATION
EXTEND
MSU CDUYD # CDU ANGLE -- ANGLE DESIRED (Y-AXIS)
TS DAPTEMP1 # SAVE FOR RERRCALC
EXTEND
MP M21 # (CDUY-CDUYD)*M21 SCALED AT PI RADIANS
TS E
CAE CDUZ # SECOND TERM CALCULATION:
EXTEND
MSU CDUZD # CDU ANGLE -ANGLE DESIRED (Z-AXIS)
TS DAPTEMP2 # SAVE FOR RERRCALC
EXTEND
MP M22 # (CDUZ-CDUZD)*M22 SCALED AT PI RADIANS
AD DELQEROR # KALCMANU INERFACE ERROR
AD E
XCH QERROR # SAVE Q-ERROR FOR EIGHT-BALL DISPLAY.
RERRCALC CAE DAPTEMP1 # R-ERROR CALCULATION:
EXTEND # CDU ANGLE -ANGLE DESIRED (Y-AXIS)
MP M31 # (CDUY-CDUYD)*M31 SCALED AT PI RADIANS
TS E
CAE DAPTEMP2 # SECOND TERM CALCULATION:
EXTEND # CDU ANGLE -ANGLE DESIRED (Z-AXIS)
MP M32 # (CDUZ-CDUZD)*M32 SCALED AT PI RADIANS
AD DELREROR # KALCMANU INERFACE ERROR
AD E
XCH RERROR # SAVE R-ERROR FOR EIGHT-BALL DISPLAY.
TC Q
# Page 1452
# "ATTSTEER" IS THE ENTRY POINT FOR Q,R-AXES (U,V-AXES) ATTITUDE CONTROL USING THE REACTION CONTROL SYSTEM
ATTSTEER EQUALS STILLRCS # "STILLRCS" IS THE RCS EXIT FROM TRYGTS.
STILLRCS CA RERROR
LXCH A
CA QERROR
TC ROT-TOUV
DXCH UERROR
# PREPARES CALL TO TJETLAW (OR SPSRCS(DOCKED))
# PREFORMS SKIP LOGIC ON U OR Y AXIS IF NEEDED.
TJLAW CA TJLAWADR
TS RETJADR
CA ONE
TS AXISCTR
INDEX AXISCTR
INDEX SKIPU
TCF +1
CA FOUR
INDEX AXISCTR
TS SKIPU
TCF LOOPER
INDEX AXISCTR
CA UERROR
TS E
INDEX AXISCTR
CA OMEGAU
TS EDOT
CA DAPBOOLS
MASK CSMDOCKD
CCS A
TCF +3
TC TJETLAW
TCF AFTERTJ
+3 CS DAPBOOLS # DOCKED. IF GIMBAL USABLE DO GTS CONTROL
MASK USEQRJTS # ON THE NEXT PASS.
CCS A # USEQRJTS BIT MUST NOT BE BIT 15.
TS COTROLER # GIMBAL USABLE. STORE POSITIVE VALUE.
INHINT
TC IBNKCALL
CADR SPSRCS # DETERMINE RCS CONTROL
RELINT
CAF FOUR # ALWAYS CALL FOR 2-JET CONTROL ABOUT U,V.
TS NUMBERT # FALL THROUGH TO JET SLECTION, ETC.
# Q,R-JET-SELECTION-LOGIC
#
# INPUT: AXISCTR 0,1 FOR U,V
# SNUFFBIT ZERO TJETU,V AND TRANS. ONLY IF SET IN A DPS BURN
# Page 1453
# TJU,TJV JET TIME SCALED 10.24 SEC.
# NUMBERT INDICATES NUMBER OF JETS AND TYPE OF POLICY
# RETJADR WHERE TO RETURN TO
#
# OUTPUT: NO.U(V)JETS RATE DERIVATION FEEDBACK
# CHANNEL 5
# SKIPU,SKIPV FOR LESS THAN 150MS FIRING
#
# NOTES: IN CASE OF FAILURE IN DESIRED ROTATION POLICY, "ALL" UNFAILED
# JETS OF THE DESIRED POLICY ARE SELECTED. SINCE THERE ARE ONLY
# TWO JETS, THIS MEANS THE OTHER ONE OR NONE. THE ALARM IS SENT
# IF NONE CAN BE FOUND.
#
# TIMES LESS THAN 14 MSEC ARE TAKEN TO CALL FOR A SINGLE-JET
# MINIMUM IMPULSE, WITH THE JET CHOSEN SEMI-RANDOMLY.
AFTERTJ CA FLAGWRD5 # IF SNUFFBIT SET DURING A DPS BURN GO TO
MASK SNUFFBIT # XTRANS; THAT IS, INHIBIT CONTROL.
EXTEND
BZF DOROTAT
CS FLGWRD10
MASK APSFLBIT
EXTEND
BZF DOROTAT
CA DAPBOOLS
MASK DRIFTBIT
EXTEND
BZF XTRANS
DOROTAT CAF TWO
TS L
INDEX AXISCTR
CCS TJU
TCF +5
TCF NOROTAT
TCF +2
TCF NOROTAT
ZL
AD ONE
TS ABSTJ
CA AXISCTR
AD L
TS ROTINDEX # 0 1 2 3 = -U -V +U +V
CA ABSTJ
AD -150MS
EXTEND
BZMF DOSKIP
# Page 1454
TC SELCTSUB
INDEX AXISCTR
CA INDEXES
TS L
CA POLYTEMP
INHINT
INDEX L
TC WRITEP
RELINT
TCF FEEDBACK
NOROTAT INDEX AXISCTR
CA INDEXES
INHINT
INDEX A
TC WRITEP -1
RELINT
LOOPER CCS AXISCTR
TC RETJADR
TCF CLOSEOUT
DOSKIP CS ABSTJ
AD +TJMINT6 # 14MS
EXTEND
BZMF NOTMIN
ADS ABSTJ
INDEX AXISCTR
CCS TJU
CA +TJMINT6
TCF +2
CS +TJMINT6
INDEX AXISCTR
TS TJU
CCS SENSETYP # ENSURE MIN-IMPULSE NOT AGAINST TRANS
TCF NOTMIN -1
EXTEND
READ LOSCALAR
MASK ONE
TS NUMBERT
NOTMIN TC SELCTSUB
INDEX AXISCTR
CA INDEXES
INHINT
# Page 1455
TS T6FURTHA +1
CA POLYTEMP
INDEX T6FURTHA +1
TC WRITEP
CA ABSTJ
TS T6FURTHA
TC JTLST # IN QR BANK BY NOW
RELINT
CA ZERO
INDEX AXISCTR
TS SKIPU
FEEDBACK CS THREE
AD NUMBERT
EXTEND
BZMF +3
CA TWO
TCF +2
CA ONE
INDEX AXISCTR
TS NO.UJETS
TCF LOOPER
XTRANS CA ZERO
TS TJU
TS TJV
CA FOUR
INHINT
XCH SKIPU
EXTEND
BZF +2
TC WRITEU -1
CA FOUR
XCH SKIPV
RELINT
EXTEND
BZF CLOSEOUT
INHINT
TC WRITEV -1
RELINT
TCF CLOSEOUT
INDEXES DEC 4
DEC 13
+TJMINT6 DEC 22
# Page 1456
-150MS DEC -240
BIT8,9 OCT 00600
SCLNORM OCT 266
TJLAWADR GENADR TJLAW +3 # RETURN ADDRESS FOR RCS ATTITUDE CONTROL
# THE JET LIST:
# THIS IS A WAITLIST FOR T6RUPTS.
#
# CALLED BY:
# CA TJ # TIME WHEN NEXT JETS WILL BE WRITTEN
# TS T6FURTHA
# CA INDEX # AXIS TO BE WRITTEN AT TJ (FROM NOW)
# TS T6FURTHA +1
# TC JTLST
#
# EXAMPLE -- U-AXIS AUTOPILOT WILL WRITE ITS ROTATION CODE OF
# JETS INTO CHANNEL 5. IF IT DESIRES TO TURN OFF THIS POLICY WITHIN
# 150MS AND THEN FIRE NEXTU, A CALL TO JTLST IS MADE WITH T6FURTHA
# CONTAINING THE TIME TO TURN OFF THE POLICY, T6FURTHA +1 THE INDEX
# OF THE U-AXIS(4), AND NEXTU WILL CONTAIN THE "U-TRANS" POLICY OR ZERO.
#
# THE LIST IS EXACTLY 3 LONG. (THIS LEADS UP TO SKIP LOGIC AND 150MS LIMIT)
# THE INPUT IS THE LAST MEMBER OF THE LIST.
#
# RETURNS BY:
# + TC Q
#
# DEFINITIONS: (OUTPUT)
# TIME6 TIME OF NEXT RUPT
# T6NEXT DELTA TIME TO NEXT RUPT
# T6FURTHA DELTA TIME FROM 2ND TO LAST RUPT
# NXT6ADR AXIS INDEX 0 -- P-AXIS
# T6NEXT +1 AXIS INDEX 4 -- U-AXIS
# T6FURTHA +1 AXIS INDEX 13 -- V-AXIS
JTLST CS T6FURTHA
AD TIME6
EXTEND
BZMF MIDORLST # TIME6 -- TI IS IN A
LXCH NXT6ADR
DXCH T6NEXT
DXCH T6FURTHA
TS TIME6
LXCH NXT6ADR
TURNON CA BIT15
EXTEND
WOR CHAN13
TC Q
# Page 1457
MIDORLST AD T6NEXT
EXTEND
BZMF LASTCHG # TIME6 + T6NEXT - T IS IN A
LXCH T6NEXT +1
DXCH T6FURTHA
EXTEND
SU TIME6
DXCH T6NEXT
TC Q
LASTCHG CS A
AD NEG0
TS T6FURTHA
TC Q
# ROT-TOUV IS ENTERED WITH THE Q-COMPONENT OF THE QUANTITY TO BE TRANSFORMED IN A AND THE R-COMPONENT IN L.
# ROT-TOUV TRANSFORMS THE QUANTITY INTO THE NON-ORTHOGONAL U-V AXIS SYSTEM. IN THE U-V SYSTEM NO CROSS-COUPLING IS
# PRODUCED FROM RCS JET FIRINGS. AT THE COMPLETION OF ROT-TOUV, THE U-COMPONENT OF THE TRANSFORMED QUANTITY IS IN
# A AND THE V-COMPONENT IS IN L.
ROT-TOUV LXCH ROTEMP2 # (R) IS PUT INTO ROTEMP2
EXTEND
MP COEFFQ
XCH ROTEMP2 # (R) GOES TO A AND COEFFQ.(Q) TO ROTEMP2
EXTEND
MP COEFFR
TS L # COEFFR.(R) IS PUT INTO L
AD ROTEMP2
TS ROTEMP1 # COEFFQ.(Q)+COEFFR.(R) IS PUT IN ROTEMP1
TCF +4
INDEX A # COEFFQ.(Q) + COEFFR.(R) HAS OVERFLOWED
CS LIMITS # AND IS LIMITED TO POSMAX OR NEGMAX
TS ROTEMP1
CS ROTEMP2
AD L # -COEFFQ.(Q) + COEFFR.(R) IS NOW IN A
TS 7
TCF +3
INDEX A # -COEFFQ.(Q) + COEFFR.(R) HAS OVERFLOWED
CS LIMITS # AND IS LIMITED TO POSMAX OR NEGMAX
LXCH ROTEMP1 # COEFFQ.(Q) + COEFFR.(R) IS PUT INTO L
TC Q
SELCTSUB INDEX ROTINDEX
CA ALLJETS
INDEX NUMBERT
MASK TYPEPOLY
TS POLYTEMP
# Page 1458
MASK CH5MASK
CCS A
TCF +2
TC Q
CA THREE
FAILOOP TS NUMBERT
INDEX ROTINDEX
CA ALLJETS
INDEX NUMBERT
MASK TYPEPOLY
TS POLYTEMP
MASK CH5MASK
EXTEND
BZF FAILOOP -2
CCS NUMBERT
TCF FAILOOP
INDEX AXISCTR
TS TJU
TC ALARM
OCT 02004
TCF NOROTAT
ALLJETS OCT 00110 # -U 6 13
OCT 00022 # -V 2 9
OCT 00204 # +U 5 14
OCT 00041 # +V 1 10
TYPEPOLY OCT 00125 # -X 1 5 9 13
OCT 00252 # +X 2 6 10 14
OCT 00146 # A 2 5 10 13
OCT 00231 # B 1 6 9 14
OCT 00377 # ALL 1 2 5 6 9 10 13 14
# THE FOLLOWING SETS THE INTERRUPT FLIP-FLOP AS SOON AS POSSIBLE, WHICH PERMITS A RETURN TO THE INTERRUPTED JOB.
CLOSEOUT CA ADRRUPT
TC MAKERUPT
ADRRUPT ADRES ENDJASK
ENDJASK DXCH DAPARUPT
DXCH ARUPT
DXCH DAPBQRPT
XCH BRUPT
LXCH Q
CAF NEGMAX # NEGATIVE DAPZRUPT SIGNALS JASK IS OVER.
DXCH DAPZRUPT
DXCH ZRUPT
TCF NOQRSM
# Page 1459
BLOCK 3
SETLOC FFTAG6
BANK
COUNT* $$/DAP
MAKERUPT EXTEND
EDRUPT MAKERUPT