-
Notifications
You must be signed in to change notification settings - Fork 343
/
P61-P67.agc
1223 lines (1079 loc) · 34.2 KB
/
P61-P67.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
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
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
### FILE="Main.annotation"
## Copyright: Public domain.
## Filename: P61-P67.agc
## Purpose: Part of the source code for Colossus, build 249.
## It is part of the source code for the Command Module's (CM)
## Apollo Guidance Computer (AGC), for Apollo 9.
## Assembler: yaYUL
## Reference: pp. 743-772.
## Contact: Ron Burkey <info@sandroid.org>.
## Website: www.ibiblio.org/apollo.
## Mod history: 08/17/04 RSB. Began transcribing.
## 2010-10-24 JL Indentation fixes.
## 2010-10-24 JL Fixed a pseudo-label on p751.
## 2010-10-25 JL Fixed page number.
## 2011-05-07 JL Flagged SBANK= workarounds for future removal.
## Fixed garbled lines.
## 2017-01-06 RSB Page numbers now agree with those on the
## original harcopy, as opposed to the PDF page
## numbers in 1701.pdf.
## 2017-01-18 RSB Cross-diff'd comment text (not whitespace)
## vs the already-proofed corresponding Colossus
## 237 and Comanche 55 source-code files
## and corrected errors found.
## 2017-02-08 RSB Fixed comment-text errors noted while diff'ing
## vs Artemis 72.
##
## The contents of the "Colossus249" files, in general, are transcribed
## from a scanned copy of the program listing. Notations on this
## document read, in part:
##
## Assemble revision 249 of AGC program Colossus by NASA
## 2021111-041. October 28, 1968.
##
## This AGC program shall also be referred to as
## Colossus 1A
##
## Prepared by
## Massachusetts Institute of Technology
## 75 Cambridge Parkway
## Cambridge, Massachusetts
## under NASA contract NAS 9-4065.
##
## Refer directly to the online document mentioned above for further information.
## Please report any errors (relative to the scanned pages) to info@sandroid.org.
##
## In some cases, where the source code for Luminary 131 overlaps that of
## Colossus 249, this code is instead copied from the corresponding Luminary 131
## source file, and then is proofed to incorporate any changes.
## Page 743
# PROGRAM: P61
# MOD NO.: 0 MAR. 13, 1967
# MOD BY: R. HIRSCHKOP
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS.
# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP CHANGES.
# MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 DELETE CMSM MANEUVER (PCR 50)
# FUNCTION: TO CALCULATE AND DISPLAY EMS INITIALIZATION DATA
# CALLING SEQUENCE- BY V37
# EXIT- TO P62
# SUBROUTINE CALLS- S61.1, S61.3, GOFLASH, FLAGUP, R02BOTH
# ERASABLE INITIALIZATION:
# EMSALT (-29) M .05G ALTITUDE ABOVE FISCHER ELLIPSOID PAD LOADED.
# ALFAPAD /180 HYPERSONIC CM TRIM ANGLE OF ATTACK PAD LOADED
# OUTPUT: THE FOLLOWING REGISTERS ARE WRITTEN IN FOR USE BY DISPLAYS
# GMAX 100 GMAX (-14) G,S MAXIMUM ACCELERATION
# VPRED (-7) M/CS PREDICTED VELOCITY AT 400K FT
# GAMMAEI GAMMA/360 PREDICTED GAMMA AT 400K FT
# RTGO THETAH/360 RANGE ANGLE TO SPLASH FROM EMSALT EMSALT IS PAD LOADED
# VIO (-7) M/CS INERTIAL VELOCITY AT EMSALT EMSALT IS PAD LOADED
# TTE (-28) CS TIME TO EMSALT EMSALT IS PAD LOADED
# LAT(SPL) /360 TARGET LOCATION LEFT BY DSKY
# LNG(SPL) /360 TARGET LOCATION LEFT BY DSKY
# HEADSUP (0) +1 = LIFT DOWN, -1 = LIFT UP LEFT BY DSKY
# DEBRIS: SEE SUBROUTINES.
BANK 26
SETLOC P60S
BANK
EBANK= AOG
COUNT* $$/P61
P61 CA BIT14 # EXTENDED VERB SHOULD BE FREE THIS CLOSE
TS EXTVBACT # TO V37
# LOCK OUT EXTENDED VERBS SO CAN USE TFF
# ROUTINES. EXT VERB ERASE IS USED
CS ONE # REMOVE IF HEADSUP EVER ON UPLINK DATA
TS HEADSUP # PRELOAD
TC S61.1 # CHECK STATE VECTOR AND IMU ORIENTATION
# RV 60GENRET. DOES PHASCHNG, GROUP 4.
CA V06N61 # LAT(SPL) LNG(SPL) HEADSUP
# XXX.XX DEG XXX.XX DEG XXXXX.
TC BANKCALL
CADR GOFLASHR
TC GOTOPOOH
## Page 744
TC P61.4
TC -5
P61.3 TC PHASCHNG
OCT 00014
TC ENDOFJOB
P61.4 ZL
CCS HEADSUP # C(HEADSUP)= +1/-1
CA BIT14 # IF HEADSUP POS,ROLLC =180 DEG.(LIFT DWN)
NOOP # IF HEADSUP NEG,ROLLC =0 (LIFT UP)
DXCH ROLLC # ROLLC IS USED BY S62.3: GIM ANG AT .05G
TC INTPRET
NEWRNVN DLOAD
PIPTIME # SAVE TIME OF RN,VN TO DETERMINE IF AN
STCALL MM # UPDATE HAS OCCURRED
STARTEN1 # INITIALIZE
VLOAD
RN
STORE RONE
UNIT
STOVL URONE
VN
STORE VONE
VXV UNIT
URONE
STORE UNI
DUMPP61 DLOAD DSU
MM # INITIAL VALUE OF PIPTIME
PIPTIME
BMN CALRB
NEWRNVN # UPDATED... GO TRY AGAIN
S61.2 # GET DISPLAY DATA FOR N60 AND N63
# AND RETURN IN BASIC, BELOW.
P61.1 TC CLEARMRK
CA V06N60 # GMAX VPRED GAMMAEI
# XXX.XX G XXXXX. FPS XXX.XX DEG
TC BANKCALL
CADR GOFLASH
TC GOTOPOOH
TC P61.2 # PROCEED
TC -5
P61.2 TC INTPRET # CORRECT TTE FOR TIME LAPSE DURING
# ABOVE DISPLAY.
RTB DSU
LOADTIME # CURRENT TIME.
## Page 745
MM # PIPTIME FOR RONE & VONE.
DAD
TTE1 # NEGATIVE OF FREE FALL TIME.
STORE TTE # DECREMENTED
EXIT
CA V06N63 # RTGO VIO TTE
# XXXX.X NM XXXXX. FPS XXBXX M,S
TC BANKCALL
CADR GOFLASH
TC GOTOPOOH
TC +2
TC P61.2 # REDO
# .... THEN FALL INTO P62
## Page 746
# PROGRAM- P62
# MOD NO.- 0 MAR. 13, 1967
# MOD BY- R. HIRSCHKOP
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 67
# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS.
# MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP CHANGES.
# MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 MOVE START OF DESIRED GIMBAL CALC.
# FUNCTION- 1) TO NOTIFY CREW WHEN GNC SYSTEM IS PREPARED FOR CM/SM SEPARATION
# 2) TO ORIENT THE CM TO THE CORRECT ATTITUDE FOR ATMOSPHERIC ENTRY
# CALLING SEQUENCE- BY V37 OR DIRECTLY FROM P61
# EXIT- TO P63
# ERASABLE INITIALIZATION:
# ALFAPAD LEFT BY PAD LOAD
# LADPAD LEFT BY PAD LOAD
# LODPAD LEFT BY PAD LOAD
# LAT(SPL) (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61
# LNG(SPL) (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61
# HEADSUP (MAY BE CHANGED BELOW) LEFT BY DSKY, VIA P61
# SUBROUTINE CALLS: NEWMODEX, S61.1, CM/DAPIC, CM/DAPON, R02BOTH, GOPERF1, GOFLASH, GODSPR
COUNT* $$/P62
TC NEWMODEX # MODE CHANGE IF CAME FROM P61.
MM 62 # MODE CHANGE AUTOMATIC VIA V 37.
CA ONE
TS DNLSTCOD
P62 TC S61.1 # CHECK STATE VECTOR AND IMU ORIENTATION.
TC INTPRET
SSP RTB
POSEXIT
P62.3 # CALCULATE DESIRED .05G GIMBAL ANGLES,
# WITHOUT DISPLAY.
CM/DAPIC # START CM/POSE AND BODY RATE CALC
# DOES 2PHSCHNG, OCT 40116, OCT 05024, OCT 13000.
# CM/DAPIC SETS EBANK = EBAOG
# AND RETURNS IN BASIC TO P62.2.
P62.2 EXTEND
DCA POSECADR # CONTINUE WITH CM/POSE AFTER AV G.
DXCH AVEGEXIT
CAF OCT41 # REQUEST SEPARATION
TC BANKCALL
CADR GOPERF1R
TC GOTOPOOH
TC +3 # PROCEED
## Page 747
# NOTE: NODOFLAG WILL BE SET IN CM/DAPON. <<<
TC -5 # ENTER
TC P61.3 # FOR PHASCHNG AND ENDOFJOB.
+3 TC POSTJUMP
CADR CM/DAPON # DISABLE RCS DAP, ENABLE ENTRY DAP AND
# DO ATTITUDE HOLD.
# WILL IDLE UNTIL CM/POSE DOES ONE UPDATE.
# CM/DAPON DOES NO PHASCHNG.
P62.1 CA V06N61 # LAT(SPL) LNG(SPL) HEADSUP
# XXX.XX DEG XXX.XX DEG 0000X.
# TERMINATE ATTITUDE HOLD. SET UP COMMANDS:
# ROLLC, ALFACOM, BETACOM. BEGIN MANUVER TO
# ENTRY ATTITUDE.
TC BANKCALL
CADR GOFLASH
TC -3
TC +2
TC -5
TC PHASCHNG
OCT 04024 # USE ENTRYVN FOR DISPLAY BELOW.
# EBANK WAS SET IN CM/DAPON TO EBAOG
CCS HEADSUP # C(HEADSUP) = +/- 1
CA BIT14 # IF HEADSUP POS, ROLLC=180 DEG (LIFT DWN)
NOOP # IF HEADSUP NEG, ROLLC=0 DEG (LIFT UP)
TS ROLLC
CA ALFAPAD # NOMINAL ALFATRIM PAD LOADED, NEG. NO.
ZL
DXCH ALFACOM # SET ALFACOM = ALFA TRIM, BETACOM=0
CA ONE # PERMITS EXDAP2 TO CHANGE FLAG TO +0
TS P63FLAG # AS INDICATOR. STARTS UP P63.
CA V06N22 # SET UP DISPLAY FOR CDU DESIRED VALUES
TS ENTRYVN # FROM ENTRY ATTITUDE CALC, THAT IS
# ALREADY GOING.
TC UPFLAG # TURN ON ENTRY DISPLAY
ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6
# SKIP
## Page 748
CS CMDAPMOD # GO DIRECTLY TO P63 IF BODY ATTITUDE
MASK ONE # IS SUCH THAT THE DELAY TASK: WAKEP62
EXTEND # WILL BE OMITTED.
BZF P63.1 # DISABLE GRP 4, GO TO ENDOFJOB.
# (IE, CONTINUE IF CMDAPMOD = -1, OR +0)
TC P63
# PUT JOB TO SLEEP UNTIL VEHICLE MANUVER HAS
# REDUCED ALFA TO +/-45 DEG. CONSIDER REMAINING
# 65 DEG (25 DEG IF ALFA NEG) TO ALFA TRIM TO
# OCCUR AT 3 DEG/SEC, AND TERMINATE P62 AT THAT
# TIME.
# TASK WAKEP62 IS CALLED FROM ENTRY DAP.
WAKEP62 CA PRIO13
TC NOVAC
EBANK= AOG
2CADR P63
TC TASKOVER
P62.3CAD CADR P62.3
# EACH 2 SEC, CALCULATE GIMBAL ANGLES FOR ENTRY CON-
# DITIONS THAT WILL HOLD IF REORIENTATION WERE MADE
# AT PRESENT RN, VN. COME HERE FROM CM/POSE AND ALSO
# IN KEPLER PHASE OF ENTRY.
P62.3 SSP GOTO # SET RETURN ADDRESS SO THAT ROUTINE
QPRET # GOES DIRECTLY TO ENTRY GUIDANCE EXIT
ENDEXIT # THAT DOES ENTRY DISPLAY, GRP 5.
S62.3 # PUT DESIRED CDU VALUES IN CPHI'S FOR
# N22 DISPLAY.
## Page 749
# P63
# PROGRAM- P63
# MOD NO.- 0 MAR. 13, 1967
# MOD BY- R. HIRSCHKOP
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JIN 67 RESTARTS.
# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 14 JUL 67 REVISED RESTARTS
# FUNCTION- 1) TO INITIALIZE THE ENTRY EQUATIONS
# 2) TO CONTINUE TO HOLD THE CM TO THE CORRECT ATTITUDE WITH RESPECT TO THE ATMOSPHERE FOR
# THE ONSET OF ENTRY DECELERATION. ROLL ANGLE IS LIFT UP/DOWN AS SPECIFIED BY HEADSUP.
# 3) TO SENSE .05 G
# CALLING SEQUENCE- DIRECTLY FROM P62
# EXIT- TO ENDOFJOB
# SUBROUTINE CALLS- NEWMODEX, GODSPR
COUNT* $$/P63
P63 TC NEWMODEX
MM 63
TC BANKCALL # FLUSH N22 DISPLAY, IF ON. (ONIT DISP
CADR CLEANDSP # DURING STARTENT PASS.)
# ARRIVE WITH EBANK = AOG.
CA ENTCADR # CONTINUE AT STARTENT AFTER CM/POSE.
# AT END OF STARTENT, CHANGE ADDRESS IN GOTOADDR
# TO CONTINUE AT SCALEPOP THEREAFTER.
TS POSEXIT
CA V06N64 # G VI R TO SPLSH
# XXX.XX G XXXXX. FPS XXXX.X NM
TS ENTRYVN # FOR DISPLAY CALL IN OVERNOUT.
CS ONE # IN CASE FLAG IS LEFT AT +1 BY DAP. THE
TS P63FLAG # -1 ASSURES THAT EXO-ATM DAP WILL NOT
# CALL P63 OUT OF SEQUENCE IN P66.
P63.1 TC PHASCHNG
OCT 00004 # DISABLE. DISPLAY RESTARTED VIA ENTRY.
TC ENDOFJOB
V06N60 VN 0660
V06N61 VN 0661
V06N63 VN 0663
V06N64 VN 0664
ENTCADR CADR STARTENT
## Page 750
EBANK= RTINIT # TO CARY OVER INTO ENTRY STEERING.
POSECADR 2CADR CM/POSE
## Page 751
# PROGRAM- P64
# MOD NO.- 1 SEPT. 19, 1967
# MOD BY- R. HIRSCHKOP
# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 8 MAY 68 REVISED COMMENTS FOR COLOSSUS
# FUNCTION- 1. TO START ENTRY GUIDANCE AT .05G SELECTING ROLL ATTITUDE, CONSTANT DRAG LEVEL, AND
# DRAG THRESHOLD, KA, WHICH ARE KEYED TO THE .05G POINT.
# 2. SELECT FINAL PHASE P67 IF V < 27000 FPS WHEN .2G OCCURS.
# 3. ITERATE FOR UP-CONTROL SOLUTION P65 IF V > 27000 FPS AND IF ALTITUDE RATE AND DRAG
# LEVEL CONDITIONS ARE SATISFIED. ENTER P65 WHEN CONSTANT DRAG CONTROLLER HAS BROUGHT RANGE
# AS PREDICTED TO WITHIN 25 NM OF DESIRED RANGE.
# 4. SELECT FINAL PHASE P67 IF NO UP-CONTROL SOLUTION EXISTS WITH VL > 18000 FPS.
# CALLING SEQUENCE- BY RTB FROM REENTRY CONTROL
# EXIT- BACK TO REENTRY CONTROL
# SUBROUTINE CALLS- NEWMODEX
BANK 25
SETLOC P60S1
BANK
# THIS DISPLAY IS CALLED EACH PASS THROUGH STEERING. RESTART PROTECTION IS VIA STEERING.
COUNT* $$/P64
P64 TC NEWMODEX # ENTER VIA RTB WHEN .05G IS EXCEEDED.
MM 64
CA V06N68 # ROLLC VI HDOT
# XXX.XX DEG XXXXX. FPS XXXXX. FPS
TS ENTRYVN # DISPLAY VIA OVERNOUT.
TC DANZIG # ... AND CONTINUE IN INITROLL ...
V06N68 VN 0668
## Page 752
# PROGRAM: P65
# MOD NO: 0 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP ADDITION.
# FUNCTION: TO CONTINUE ENTRY GUIDANCE, USING THE UP-CONTROL PHASE TO STEER TO A CONTROLLED EXIT
# CONDITION. THIS PHASE TERMINATES A) IF D < Q7 FPSS, GO TO P66 ,
# B) IF RDOT NEG, AND IF V < VL +500 FPS, GO TO P67.
# CALLING SEQUENCE: BY RTB FROM REENTRY CONTROL
# EXIT: BACK TO REENTRY CONTROL, OR TO ENDOFJOB.
# SUBROUTINE CALLS: NEWMODEX
COUNT* $$/P65
P65 TC NEWMODEX # ENTER VIA RTB WHEN RANGE < 25 N M OF
MM 65 # TARGET.
CA PRIO13
TC NOVAC
EBANK= ENTRYVN
2CADR P65.1
TC 2PHSCHNG # 2 PHASE CHG REQUIRED TO PREVENT RE-
OCT 00554 # STARTING FLASHING DISPLAY TWICE.
OCT 10035 # 4.55 SPOT AND SERVICER, HERE.
TC INTPRET
SSP RTB
GOTOADDR # CHANGE ENTRY MODE TO UPCONTRL.
UPCONTRL
REFAZE10 # GO HERE TO REESTABLISH ENTRY SEQUENCER.
# AND CONTINUE AT UPCONTRL...
P65.1 TC DOWNFLAG
ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6
CA V16N69 # ROLLC DL (Q7) VL
TC BANKCALL # XXX.XX DEG XXX.XX G XXXXX. FPS
CADR GOFLASHR
TC -3 # NODOFLAG IS SET ..
TC +3
TC -5
TC P61.3 # EST. GRP 4 FOR DSPLAY AND DO ENDOFJOB
# IF PROCEED, CONTINUE.
TC UPFLAG
ADRES ENTRYDSP # ENTRYDSP = 92D BIT 13 FLAG 6
TC P63.1 # DISABLE GRP 4, START UP ENTRY DISPLAY
# N06V68 VIA OVERNOUT, AS USED IN P64.
V16N69 VN 1669
## Page 753
# PROGRAM: P66
# MOD NO: 0 MOD BY: RR BAIRNSFATHER DATE: 17 JAN 68 COLOSSUS GSOP ADDITIONS.
# FUNCTION: KEEP CM ATTITUDE IN TRIM TO THE RELATIVE VELOCITY VECTOR. ENTRY GUIDANCE STOPS GENERATING
# ROLL COMMANDS UNTIL DRAG BUILDS UP TO Q7+0.5 FPSS.
# CALLING SEQUENCE: VIA RTB FROM REENTRY CONTROL.
# EXIT: BACK TO REENTRY CONTROL.
# SUBROUTINE CALLS: NEWMODEX
COUNT* $$/P66
P66 TC NEWMODEX # ENTER VIA RTB WHEN D < Q7 FPSS
MM 66
CA V06N22 # OGA IGA MGA
# XXX.XX DEG XXX.XX DEG XXX.XX DEG
TC P66END # IN CASE CAME FROM P65, GO DISABLE GRP 4,
# AND SET ENTRYDSP TO DO DISPLAY VIA
# OVERNOUT.
# ... AND CONTINUE AT KEP2
## Page 754
# P67
# PROGRAM- P67
# MOD NO.- 0 MAR. 16, 1967
# MOD BY- R. HIRSCHKOP
# FUNCTION- TO TERMINATE STEERING WHEN THE CM VELOCITY WRT EARTH = 1000 FT/SEC
# CALLING SEQUENCE-
# EXIT- TO POOH
# SUBROUTINE CALLS- GOFLASH
# THIS DISPLAY IS CALLED EACH PASS THROUGH STEERING. RESTART PROTECTION IS VIA STEERING.
COUNT* $$/P67
P67 TC NEWMODEX # ENTER VIA RTB
MM 67
CA V06N66 # ROLLC XRNGERR DNRNGERR
# XXX.XX DEG XXXX.X NM XXXX.X NM
P66END TS ENTRYVN # DISPLAY VIA OVERNOUT.
TC UPFLAG # (IN CASE CAME FROM P65. ENTRY DISPLAY
ADRES ENTRYDSP # WILL FLUSH FLASHING DISP. IF STILL ON)
# BIT 13 FLAG 6
KILLGRP4 TC PHASCHNG # DISABLE GRP4, IN CASE CAME FROM HUNTEST.
OCT 00004 # (COME TO KILLGRP4 VIA RTB, RET TO CALLER)
TC DANZIG # ... AND CONTINUE AT PREDICT3 ...
V06N66 VN 0666
BANK 26
SETLOC P60S2
BANK
P67.1 CA V16N67 # RTOGO LAT LONG
# XXXX.X NM XXX.XX DEG XXX.XX DEG
TC BANKCALL
CADR GOFLASH
TC +3 # EFFECTIVE GOTOPOOH
TC +2
TC P67.1 # REDO
CS THREE # TURN OFF ENTRY DAP
INHINT
MASK CM/FLAGS # CM/DSTBY, GAMDIFSW
TS CM/FLAGS
RELINT
EXTEND
DCA SERVCAD2
## Page 755
DXCH AVEGEXIT
TCF GOTOPOOH
## Page 756
P67.2 VLOAD CLEAR # CALC PRESENT LAT, LONG, ALT.
RN
ERADFLAG # USE PAD RAD FOR ALT. (NOT SEEN ANYWAY)
STODL ALPHAV
PIPTIME # USE TIME OF RN
CLEAR CALL
LUNAFLAG
LAT-LONG
P67.3 RTB # ENTRY EXIT THAT OMITS DISPLAY.
SERVNOUT
V16N67 VN 1667
OCT41 = 33DEC
SERVCAD2 = SERVCAD1
## Page 757
# SUBROUTINE NAME: S61.1
# MOD NO: 0 DATE: 21 FEB 67
# MOD BY: RR BAIRNSFATHER LOG SECTION: P61-P67
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 22 JUN 67 RESTARTS.
#
# FUNCTIONAL DESCRIPTION: CALLED BY BOTH P61 AND P62
# FIRST, TEST TO SEE IF AVERAGEG IS ON. IF NOT, UPDATE THE STATE VECTOR TO PRESENT TIME + TOLERANCE
# AND TURN ON AVERAGEG AT THAT TIME, AND CONTINUE. OTHERWISE CONTINUE: SEE IF IMU Y AXIS IS
# WITHIN 30 DEG OF V*R. IF YES, EXIT SUBROUTINE S61.1. IF NO, SEE IF -Y AXIS OF IMU IS WITHIN
# 30 DEG OF V*R. IF YES, DISPLAY ALARM: 01427 IMU REVERSED.
# IF NO, DISPLAY ALARM: 01426 IMU UNSATISFACTORY.
# IN EITHER OF THESE LAST 2 CASES, WAIT 10 SEC AND THEN EXIT SUBROUTINE S61.1.
#
# REMARK: THERE WILL BE A SHORT 10 SEC DELAY IF AN ALARM EXIT IS TAKEN. THE DELAY FOR INTEGRATION IS
# AS SHORT AS CAN BE MADE, BUT IS ARBITRARY SINCE IT DEPENDS ON THE AGE OF THE STATE VECTOR.
#
# CALLING SEQUENCE: CALL
# S61.1
#
# C(MPAC) UNSPECIFIED
# PUSHLOC UNSPECIFIED
#
# SUBROUTINES CALLED: LOADTIME, CSMPREC, TPAGREE,
# WAITLIST, JOBSLEEP, JOBWAKE, PREREAD, ALARM, GODSPR, BANKCALL, DELAYJOB
#
# NORMAL EXIT MODES: RVQ
#
# ALARMS: 01426 IMU UNSATISFACTORY
# 01427 IMU REVERSED
#
# OUTPUT: POSSIBLE ALARMS
# POSSIBLY TDEC1, RATT, VATT, RN, VN
#
# ERASABLE INITIALIZATION REQUIRED:
# AVEGFLAG AVERAGEG ON OR OFF LEFT BY SERVICER
# PIPTIME (-28) CS TIME OF PIPA UPDATE LEFT BY READACCS
# RN (-29) M STATE VECTOR LEFT BY AVERAGEG
# VN (-7) M/CS STATE VECTOR LEFT BY AVERAGEG
# REFSMMAT (-1) .5 REF TO SM MATRIX LEFT BY LAST IMU ALIGNMENT
#
# DEBRIS: QPRET
# POSSIBLY PIPTIME1, RATT, VATT, TDEC1, RN1, VN1, QTEMP, X1 IF UPDATED
# PUSH LIST LOCS USED BY CSMPREC
EBANK= AOG # FOR 60GENRET, S61DT
BANK 26
SETLOC P60S3
BANK
COUNT* $$/S61.1
S61.1 EXTEND
QXCH 60GENRET # SAVE RET ADDR IN EB 6
TC BANKCALL
CADR R02BOTH
TC INTPRET
## Page 758
BON CALRB
AVEGFLAG # IS AVERAGEG ON
S61.1A # YES
MIDTOAV2 # GET FUTURE STATE VECTOR SOON AS CAN
CA MPAC +1 # RETURN INHINTED ***
TS S61DT # FOR RESTART.
TC WAITLIST
EBANK= DVCNTR
2CADR S61.1C
TC PHASCHNG
OCT 40434
TC ENDOFJOB
S61.1C CA PRIO13
TC FINDVAC
EBANK= AOG
2CADR S61.1A -1
EXTEND
DCA SERVCAD1 # HE WHO STARTS AVERAGEG MUST SERVICE
DXCH AVEGEXIT # THE EXIT.
TC 2PHSCHNG
OCT 00454
OCT 00415
CA EBENTRY # SET EB= 7 FOR PREREAD.
TS EBANK
TC POSTJUMP
CADR PREREAD # PREREAD DOES TC TASKOVER.
TC INTPRET
S61.1A BOVB VLOAD
TCDANZIG # TURN OFF OVFIND, IF ON
VN # VN (-7) M/CS
VXV MXV
RN # RN (-29) M
REFSMMAT # .5 UNIT MATRIX
UNIT DLOAD
MPAC +3 # GET COS(THETA)/2
BMN DAD
S61.1B # DO TEST ON -YSM
C(30)LIM # = 1.0 -.5 COS(30)
BOVB RTB
RETRN1
RETRN3
## Page 759
S61.1B DCOMP DAD
C(30)LIM # = 1.0 - .5 COS(30)
BOVB EXIT
RETRN2
RETRN3 TC ALARM
OCT 01426 # IMU UNSATISFACTORY
TC RETRN2 +2
RETRN2 TC ALARM
OCT 01427 # IMU REVERSED
+2 CAF V05N09
TC BANKCALL
CADR GODSPR # DO DISPLAY
CA 10SECS
TC BANKCALL
CADR DELAYJOB
RETRN1 TC 60GENRET
EBANK= DVCNTR
SERVCAD1 2CADR SERVEXIT
C(30)LIM 2DEC .566985 # = 1.0 - .5 COS(30)
10SECS DEC 1000 # 1000 CS
60SECDP 2DEC 6000 B-28 # 6000 CS
## Page 760
# PROGRAM NAME: S61.2 DATE: 14 FEB 67
# MOD NO: 1 LOG SECTION: P61-P67
# MOD BY: MORTH / BAIRNSFATHER
# MOD NO: 2 MOD BY: MORTH/BAIRNSFATHER DATE: 11 MAY 67 ADD 2ND ITER FOR ERAD AT 400K FT.
# MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 VARIABLE MU ADDED.
# MOD NO: 4 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 DIFFERENT EARTH/MOON SCALES IN TFF'S
#
# FUNCTIONAL DESCRIPTION: CALLED BY P61. PROVIDES DISPLAYS FOR NOUNS N60 AND N63.
# PROGRAM CALCULATES ENTRY DISPLAY OF MAXIMUM ACCELERATION EXPECTED (GMAX) AND ALSO THE EXPECTED
# INERTIAL VELOCITY (VPRED) AND ENTRY ANGLE (GAMMAEI) THAT WILL OBTAIN AT 400K FT ABOVE THE FISCHER
# ELLIPSOID. PROGRAM ALSO CALCULATES A SECOND DISPLAY RELATIVE TO THE EMSALT ABOVE FISCHER ELLIPSOID
# AND CONSISTS OF RANGE TO SPLASH FROM NOW (RTGO), PREDICTED INERTIAL VELOCITY (VIO), AND THE TIME TO
# GO FROM NOW (TTE) .
#
# CALLING SEQUENCE: CALL
# S61.2
# C(MPAC) UNSPECIFIED
# PUSHLOC WILL BE SET TO ZERO.
#
# SUBROUTINES CALLED: TFFCONIC, CALCTFF, TFF/TRIG, FISHCALC, GETERAD, VGAMCALC
#
# NORMAL EXIT MODES: RTB P61.1
#
# ALARMS: NONE
#
# OUTPUT: THE FOLLOWING REGISTERS ARE WRITTEN IN FOR USE BY DISPLAYS
# GMAX 100 GMAX (-14) G,S MAXIMUM ACCELERATION
# VPRED (-7) M/CS PREDICTED VELOCITY AT 400K FT
# GAMMAEI GAMMA/360 PREDICTED GAMMA AT 400K FT
# FOR TM, DP(GAMMAEI) = (GAMMAEI, RTGO) / 360
# RTGO THETAH/360 RANGE ANGLE TO SPLASH FROM EMSALT EMSALT IS PAD LOADED
# VIO (-7) M/CS INERTIAL VELOCITY AT EMSALT EMSALT IS PAD LOADED
# TTE (-28) CS TIME TO EMSALT EMSALT IS PAD LOADED
# PUSHLOC = 0
# CONIC PARAMETERS STORED IN VAC AREA (SEE TFF SUBROUTINES)
#
# ERASABLE INITIALIZATION REQUIRED:
# RONE (-29) M STATE VECTOR LEFT BY USER
# VONE (-7) M/CS STATE VECTOR LEFT BY USER
# URONE UR/2 LEFT BY USER
# UNI (-1) UNIT NORMAL V*R LEFT BY ENTRY / P61
# THETAH THETAH/360 RANGE ANGLE LEFT BY ENTRY / P61
# UNITW (0) UNIT POLAR VECTOR LEFT BY PAD LOAD
# EMSALT (-29) M EMS INTERFACE ALTITUDE LEFT BY PAD LOAD
# ORBITAL REENTRY: 284643 FT, LUNAR REENTRY: 297431 FT.
#
# DEBRIS: QPRET,
# ALL PDL LOCATIONS ABOVE 12D, INCLUDING X1,X2,S1,S2
# ALSO PDL+0 ... PDL+5, WHERE INITIAL PUSHLOC = PDL
## Page 761
# THE FOLLOWING PUSH LIST LOCATIONS HAVE BEEN RESERVED FOR TFF ROUTINES AND ARE REPEATED HERE FOR CONVENIENCE.
# OF COURSE FOR S61.2 USAGE, EARTH ORIGIN SCALING IS USED.
#
# BELOW E: IS USED FOR EARTH ORIGIN SCALE
# M: IS USED FOR MOON ORIGIN SCALE
#
# RTERM = 18D TERMINAL RADIUS M E: (-29) M: (-27)
# NRTERM = 16D TERMINAL RADIUS M E: (-29+NR)
# M: (-27+NR)
# RMAG1 = 12D PRESENT RADIUS M E: (-29) M: (-27)
# NRMAG = 32D PRESENT RADIUS M E: (-29+NR)
# M: (-27+NR)
# SDELF/2 SIN(THETA) / 2
# CDELF/2 = 14D COS(THETA) / 2
# TFFX = 34D X, ARGUMENT OF SERIES T(X).
# TFFTEM = 36D ARG FOR TRANSFER ANGLE CALCULATION.
# TFFNP = 28D LC P M E: (-38+2NR) M: (-36+2NR)
# TFF/RTMU= 30D 1/SQRT(MU) E: (17) M: (14)
# TFFVSQ = 20D -(VN.VN/MU) 1/M E: (20) M: (18)
## Page 762
BANK 34
SETLOC P60S2
BANK
COUNT* $$/S61.2
# PDL LEFT AT ZERO BY TARGETNG
S61.2 DLOAD DSU
EMSALT
290KFT
BPL DLOAD
LUNENT
1/RTMU # ESTABLISH MU FOR ORBITAL ENTRIES
CALLCON CALL
TFFCONIC # FILL VAC AREA WITH CONIC PARAMETERS
DLOAD CALL
RTRIAL # 1ST GUESS AT TERMINAL RADIUS (-29)
CALCTFF # SAVES MPAC IN RTERM (18D)
CALL # CALC SDELF/2, CDELF/2
TFF/TRIG # RETURN WITH S(THETA) IN MPAC
CALL # GET FISCHER RADIUS (-29) M
FISHCALC # ANS IN MPAC AND IN ERADM.
DAD CALL
EMSALT
CALCTFF # SAVES MPAC IN RTERM (18D)
DCOMP # NEGATIVE AS IN COUNTDOWN.
STORE TTE1 # DECR TTE FROM BASE TTE1. (RESTART)
# DNLIST AND DSKY WILL USE TTE.
STCALL TTE # LET MISS CONTRL DECR BY ELAPSED TIME
# TTE= TIME FROM NOW TO EMSALT +FISCHER
TFF/TRIG # S(THETA) IN MPAC ON RETURNING
# AND THETA= RANGE FROM NOW TO EMSALT
CALL
FISHCALC
CALL
VRCALC
CALL
DISPTARG
CALL
DISPTARG
STCALL RTGO
## Page 763
VGAMCALC
DMP # MPAC = GAMMA
# PDL0 HAS VGAM.
BDDV DAD
VEMSCON # -HS D 180/PI (-14)
0 # VGAM FROM PDL0.
STODL VIO # PREDICTED VELOCITY AT EMSALT.
# GAMMA AND VGAM AT 300K FT ARE REQUIRED BY GMAX
# ALGORITHM.
ERADM # EARTH RADIUS FROM GETERAD (-29) M
# = FISCHER RADIUS (-29)
DAD
300KFT # M (-29)
STCALL RTERM # TERMINAL RADIUS M (-29)
PREVGAM # VGAMCALC WITH NEW RTERM
# VBAR = (V(FPS) - 36KF/S) / 20KF/S
# GMAX = (4/(1 + 4.8 VBARSQ))(GAM - 6.05 - 2.4 VBARSQ) - 10(L/D - .3) + 10 ASSUME L/D = 0.3, BANK =0.
# GMAXCALC
PDDL DSU # GAM TO PDL2
0 # VGAM IS IN PDL0 (-7)
36KFT/S # (-7) M/CS
DDV DSQ
20KFT/S # (-6) M/CS
STORE 0 # VBARSQ (-2) TO PDL0
DMP DAD
KR1
# GAM, POS DOWN, FROM PDL2
DAD DMP
-6.05DEG
KR2
PDDL # XCH PDL+0 FOR VBARSQ (-2)
DDV DAD
KR4
DP2(-4)
BDDV
# NUM FROM PDL+0
DAD BPL
KR3
+3
DLOAD
HI6ZEROS
STODL GMAX # 100 GMAX (-14)
## Page 764
# DISPLAY USES GMAX AS SP, SO LO WORD IS WRITTEN OVER BY VPRED.
ERADM # = FISCHER RADIUS (-29) M
DAD CALL # 2 ND ITERATION FOR FISCHER RADIUS
400KFT
CALCTFF # ESTABLISH TRANSFER ANGLE DATA.
CALL
TFF/TRIG # GET SIN, COS DELF
CALL
FISHCALC # GET CORRESPONDING FISCHER RADIUS.
DAD LXA,2 # SAVE HI-WORD FOR DOWNLIST.
400KFT # M (-29)
RTGO # (RANGE ANGLE FROM EMSALT) / 360
STCALL RTERM
PREVGAM # VGAMCALC WITH NEW RTERM
DCOMP SXA,2 # HI-WORD OF EACH ON DOWNLIST.
MPAC +1
STODL GAMMAEI # CONIC GAMMA/360 AT 400K FT. (HI-WORD)
# CONIC RTGO/360 FROM EMSALT (LOW-WORD)
# FOR TM, DP(GAMMAEI) = (GAMMA, RTGO) / 360
# VGAM FROM PDL+0 (-7)
STADR
STORE VPRED # CONIC VELOCITY AT 400K FT
RTB
P61.1
# PDL BACK TO ZERO.
LUNENT DLOAD GOTO
1/RTMUE # ESTABLISH MU FOR LUNAR TYPE ENTRIES
CALLCON
290KFT 2DEC 88392 B-29
KTETA1 2DEC* .421844723 E2 B-14* # 1100 2PI/16384(163.84)
36KFT/S 2DEC 109.728 B-7 # (-7) M/CS = 36 KFT/S (-7)
20KFT/S 2DEC 121.92 B-7 # (-6) M/CS = 2 20KFT/S (-7)
KR1 2DEC -.026666667 # = -2.4 4 / 360
-6.05DEG 2DEC -.016805556 # = -6.05 / 360
KR2 2DEC .54931641 # = (360/4) 100 (-14) = 9000 B-14
KR3 2DEC 1000 B-14 # = 100 (10.0) (-14) G,S
## Page 765
# ASSUMES L/D = 0.3, BANK =0.
RTRIAL 2DEC 6460097.16 B-29 # RPAD +284643 FT =21 194 545 FT
# RPAD DEFINED AS 20 909 901.57 FT =6 373 338 M
400KFT 2DEC 121920 B-29 # METERS
# 300KFT 2DEC 91440 B-29 (-29) M
# EMSALT 2DEC 86759.2 B-29 284643 FT (-29) M (ORBITAL REENTRY)
# EMSALT 2DEC 90657 B-29 297431 FT (-29) M (LUNAR REENTRY)
KR4 2DEC .833333333
300KFT EQUALS MINPERE
VEMSCON 2DEC -.0389676 B-14 # = -HS D / 2 PI (-14) M SQ / CS SQ
# = -16369 .05G 32.2 .3048 .3048/2 PI (-14)
## Page 766
# SUBROUTINE NAME: FISHCALC (USED BY S61.2) DATE: 01.21.67
# MOD NO: 0 LOG SECTION: P61-P67
# MOD BY: MORTH / BAIRNSFATHER
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 MAY 67 INCLUDE GETERAD CALL
#
# FUNCTIONAL DESCRIPTION: GIVEN THE PRESENT POSITION, UNITR, CALCULATE A NEW UNITR THAT IS ROTATED THROUGH
# TRANSFER ANGLE, THETA, ALONG TRAJECTORY. THEN CALCULATE SIN(LAT) AND USE TO OBTAIN FISCHER RADIUS.
# SINCE FISHCALC USES UNI (LEFT BY ENTRY) EARTH SCALING IS ASSUMED. (WILL IMPROVE FOR SUITABLE TENNANT)
#
# CALLING SEQUENCE: CALL
# FISHCALC
# ENTER WITH .5 SIN(THETA) IN MPAC.
# PUSHLOC IS AT PDL+0, AN ARBITRARY BASE VALUE IF LEQ 8D
#
# SUBROUTINES CALLED: GET ERAD
#
# NORMAL EXIT MODE: RVQ
#
# EXIT MODES: NONE
#
# OUTPUT: ERADM (-29) M IN MPAC ON RETURNING
# NEW UNIT VECTOR NOT SAVED.
# SIN(LAT) NOT SAVED.
# PUSHLOC AT PDL+0
#
# ERASEABLE INITIALIZATION REQUIRED:
# SDELF/2 =SIN(THETA) / 2, IN MPAC LEFT BY TFF/TRIG
# CDELF/2 =COS(THETA) / 2, STORED IN PDL 14D LEFT BY TFF/TRIG
# RONE (-29) M LEFT BY USER
# VONE (-7) M/CS LEFT BY USER
# URONE UR/2 LEFT BY USER
# UNI .5 UNIT(V*R) LEFT BY ENTRY / P61
# UNITW UNIT NORTH POLE LEFT BY PAD LOAD
#
# DEBRIS: QPRET, PDL+0 ... PDL+5
# - - -
FISHCALC PDVL VXV # URPR = UR CDELF + UHOR SDELF
URONE
UNI
VXSC VSL1
# SIN(THETA) / 2 FROM PDL+0
PDVL VXSC # TO PDL+0, +5
URONE
CDELF/2 # COS(THETA) / 2
VAD STADR
STORE URH # FOR USE IN RTGO FROM EMS DISPLAY
DOT SL1
UNITW # FULL UNIT VECTOR UNIT NORTH
STORE ALPHAV +4 # = .5 SIN(LAT)
DUMPFISH GOTO
GETERAD # SAVES FISCHER RAD (-29) M IN ERADM AND
# IN MPAC. RETURNS TO CALLER VIQ QPRET.
## Page 767
# SUBROUTINE NAME: VGAMCALC (USED BY S61.2) DATE: 01.21.67
# MOD NO: 0 LOG SECTION: P61-P67
# MOD BY: MORTH / BAIRNSFATHER
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 21 NOV 67 VARIABLE MU ADDED.
# MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 21 MAR 68 ACCEPT DIFFERENT EARTH/MOON SCALE
#
# FUNCTIONAL DESCRIPTION: EARTH CENTERED VIS VIVA CALCULATION OF TERMINAL VELOCITY AND GAMMA (REL TO
# HORIZONTAL) GIVEN THE SCALAR QUANTITIES: PRESENT RADIUS AND VELOCITY AND THE TERMINAL RADIUS.
# THE USER MUST APPEND PROPER SIGN TO GAMMA, SINCE IT IS CALCULATED AS A POSITIVE NUMBER.
# THE EQUATIONS ARE
#
# VGAM = SQRT(VN VN/MU + 2(RN-RTERM)/(RN RTERM) ) RTMU
#
# COSGAM = H / RTERM VGAM = SQRT (LCP) / (RTERM VGAM/RTMU)
#
# VGAMCALC ASSUMES THAT THE TERMINAL RADIUS IS LESS THAN THE PRESENT RADIUS. BOTH CALCTFF AND CALCTPER
# MAKE THIS ASSUMPTION.
#
# CALLING SEQUENCE: CALL STCALL RTERM
# VGAMCALC PREVGAM
# PUSHLOC AT PDL+0, ARBITRARY IF LEQ 12D
# C(MPAC) UNSPECIFIED C(MPAC)=NEW RTERM
#
# SUBROUTINES CALLED: NONE
#
# NORMAL EXIT MODE: RVQ
#
# ALARMS: NONE
#
# OUTPUT: GAMMA / 360 IN MPAC, POSITIVE NUMBER
# VGAM E: (-7) M: (-5) M/CS IN PDL+0
# PUSHLOC AT PDL+2
#
# ERASABLE INITIALIZATION REQD:
# TFF/RTMU E: (17) M: (14) 1/SQRT(MU) LEFT BY TFFCONIC.
# RMAG1 E: (-29) M: (-27) M PRESENT RADIUS LENGTH LEFT BY TFFCONIC
# NRMAG E: (-29+NR) M NORM LENGTH OF PRESENT POSITION LEFT BY TFFCONIC
# M: (-27+NR)
# RTERM E: (-29) M: (-27) M TERMINAL RADIUS LENGTH LEFT BY CALCTFF
# NRTERM E: (-29+NR) M NORM LENGTH OF TERMINAL RADIUS LEFT BY CALCTFF
# M: (-27+NR)
# TFFVSQ E: (20) M: (18) 1/M -(V SQ/MU): PRESENT VELOCITY, NORM LEFT BY TFFCONIC
# TFFNP E: (-38+2NR) M LCP, SEMI-LATUS RECTUM, WEIGHT NR LEFT BY TFFCONIC
# M: (-36+2NR)
#
# DEBRIS: QPRET, PDL+0 ... PDL+3
# RTERM, NRTERM IF PREVGAM ENTERED.
## Page 768
PREVGAM SL* # ENTER WITH NEW RTERM IN MPAC
# E: (-29) M: (-27)
0,1 # X1 = -NR
STORE NRTERM # RTERM M E: (-29+NR) M: (-27+NR)
VGAMCALC DLOAD DMP
NRMAG # RMAG M E: (-29+NR) M: (-27+NR)
NRTERM # RTERM M E: (-29+NR) M: (-27+NR)