forked from chrislgarry/Apollo-11
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DISPLAY_INTERFACE_ROUTINES.s
1485 lines (1230 loc) · 39.2 KB
/
DISPLAY_INTERFACE_ROUTINES.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
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
# Copyright: Public domain.
# Filename: DISPLAY_INTERFACE_ROUTINES.agc
# Purpose: Part of the source code for Comanche, build 055. It
# is part of the source code for the Command Module's
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
# Assembler: yaYUL
# Reference: pp. 1452-1484
# Contact: Ron Burkey <info@sandroid.org>
# Website: http://www.ibiblio.org/apollo.
# Mod history: 2009-05-07 RSB Adapted from Colossus249 file of the same
# name, and page images. Corrected various
# typos in the transcription of program
# comments, and these should be back-ported
# to Colossus249.
#
# The contents of the "Comanche055" files, in general, are transcribed
# from scanned documents.
#
# Assemble revision 055 of AGC program Comanche by NASA
# 2021113-051. April 1, 1969.
#
# This AGC program shall also be referred to as Colossus 2A
#
# Prepared by
# Massachussets 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 to info@sandroid.org.
# Page 1452
# DISPLAYS CAN BE CLASSIFIED INTO THE FOLLOWING CATEGORIES --
# 1. PRIORITY DISPLAYS -- DISPLAYS WHICH TAKE PRIORITY OVER ALL OTHER DISPLAYS. USUALLY THESE DISPLAYS ARE SENT
# OUT UNDER CRITICAL ALARM CONDITIONS.
# 2. EXTENDED VERB DISPLAYS -- ALL EXTENDED VERBS AND MARK ROUTINES SHOULD USE EXTENDED VERB (MARK) DISPLAYS.
# 3. NORMAL DISPLAYS -- ALL MISSION PROGRAM DISPLAYS WHICH INTERFACE WITH THE ASTRONAUT DURING THE NORMAL
# SEQUENCE OF EVENTS.
# 4. MISC. DISPLAYS -- ALL DISPLAYS NOT HANDLED BY THE DISPLAY INTERFACE ROUTINES. THESE INCLUDE SUCH DISPLAYS AS
# MM DISPLAYS AND SPECIAL PURPOSE DISPLAYS HANDLED BY PINBALL.
# 5. ASTRONAUT INITIATED DISPLAYS -- ALL DISPLAYS INITIATED EXTERNALLY.
#
# THE FOLLOWING TERMS ARE USED TO DESCRIBE THE STATUS OF DISPLAYS --
# 1. ACTIVE -- THE DISPLAY WHICH IS (1) BEING DISPLAYED TO THE ASTRONAUT AND WAITING FOR A RESPONSE OR
# (2) WAITING FIRST IN LINE FOR THE ASTRONAUT TO FINISH USING THE DSKY OR (3) BEING DISPLAYED ON THE DSKY
# BUT NOT WAITING FOR A RESPONSE.
# 2. INACTIVE -- A DISPLAY WHICH HAS (1) BEEN ACTIVE BUT WAS INTERRUPTED BY A DISPLAY OF HIGHER PRIORITY,
# (2) BEEN PUT INTO THE WAITING LIST AT TIME IT WAS REQUESTED DUE TO THE FACT A HIGHER PRIORITY DISPLAY
# WAS ALREADY DOING, (3) BEEN INTERRUPTED BY THE ASTRONAUT (CALLED A PINBRANCH CONDITION, SINCE THIS TYPE
# OF INACTIVE DISPLAY IS USUALLY REACTIVATED ONLY BY PINBALL) OR (4) A DISPLAY WHICH HAS FINISHED BUT STILL
# HAS INFO SAVED FOR RESTART PURPOSES.
#
# DISPLAY PRIORITIES WORK AS FOLLOWS --
# INTERRUPTS --
# 1. THE ASTRONAUT CAN INTERRUPT ANY DISPLAY WITH AN EXTERNAL DISPLAY REQUEST.
# 2. INTERNAL DISPLAYS CAN NOT BE SENT OUT WHEN THE ASTRONAUT IS USING THE DSKY.
# 3. PRIORITY DISPLAYS INTERRUPT ALL OTHER TYPES OF INTERNAL DISPLAYS. A PRIORITY DISPLAY INTERRUPTING ANOTHER
# PRIORITY DISPLAY WILL CAUSE AN ABORT UNLESS BIT14 IS SET FOR THE LINUS ROUTINE.
# 4. A MARK DISPLAY INTERRUPTS ANY NORMAL DISPLAY.
# 5. A MARK THAT INTERRUPTS A MARK COMPLETELY REPLACES IT.
#
# ORDER OF WAITING DISPLAYS --
# 1. ASTRONAUT
# 2. PRIORITY
# 3. INTERRUPTED MARK
# 4. INTERRUPTED NORMAL
# 5. MARK TO BE REQUESTED (SEE DESCRIPTION OF ENDMARK)
# 6. MARK WAITING
# 7. NORMAL WAITING
#
# Page 1453
# THE DISPLAY ROUTINES ARE INTENDED TO SERVE AS AN INTERFACE BETWEEN THE USER AND PINBALL. THE
# FOLLOWING STATEMENTS CAN BE MADE ABOUT NORMAL DISPLAYS AND PRIORITY DISPLAYS (A DESCRIPTION OF MARK ROUTINES
# WILL FOLLOW LATER):
# 1. ALL ROUTINES THAT END IN R HAVE AN IMMEDIATE RETURN TO THE USER. FOR ALL FLASHING DISPLAYS THIS RETURN
# IS TO THE USER'S CALL CADR +4. FOR THE ONLY NON-FLASHING IMMEDIATE RETURN DISPLAY (GODSPR) THIS RETURN
# IS TO THE USER'S CALLING LOC +1.
# 2. ALL ROUTINES NOT ENDING IN R DO NOT DO AN IMMEDIATE RETURN TO THE USER.
# 3. ALL ROUTINES THAT END IN R START A SEPARATE JOB (MAKEPLAY) WITH USER'S JOB PRIORITY.
# 4. ALL ROUTIENS NOT ENDING IN R BRANCH DIRECTLY TO MAKEPLAY WHICH MAKES THESE DISPLAYS A PART OF THE
# USER'S JOB.
# 5. ALL DISPLAY ROUTIENS ARE CALLED VIA BANKCALL.
# 6. TO RESTART A DISPLAY THE USER WILL GENERALLY USE A PHASE OF ONE WITH DESIRED RESTART GROUP (SEE
# DESCRIPTION OF RESTARTS).
# 7. ALL FLASHING DISPLAYS HAVE 3 RETURNS TO THE USER FROM ASTRONAUT RESPOSES. A TERMINATE (V34) BRANCHES
# TO THE USER'S CALL CADR +1. A PROCEED (V33) BRANCHES TO THE USER'S CALL CADR +2. AN ENTER OR RECYCLE
# (V32) BRANCHES TO THE USER'S CALL CADR +3.
# 8. ALL ROUTINES MUST BE USED UNDER EXECUTIVE CONTROL
#
# A DESCRIPTION OF EACH ROUTINE WITH AN EXAMPLE FOLLOWS:
# GODSP IS USED TO DISPLAY A VERB NOUN ARRIVING IN A. NO RETURN IS MADE TO THE USER.
# 1. GODSP IS NOT RESTARTABLE
# 2. A VERB PASTE WITH GODSP ALWAYS TURNS ON THE FLASH.
# CAF VXXNYY
# TC BANKCALL
# CADR GODSP
# VXXNYY OCT OXXYY
# GODSPR IS THE SAME AS GODSP ONLY RETURN IS TO THE USER.
# CAF VXXNYY
# TC BANKCALL
# CADR GODSPR
# ... ... # IMMEDIATE RETURN OF GODSPR
# GOFLASH DISPLAYS A FLASHING VERB NOUN WITH NO IMMEDIATE RETURN TO THE USER. 3 RETURNS ARE POSSIBLE FORM
# THE ASTRONAUT (SEE NO. 7 ABOVE).
# CAF VXXNYY # VXX NYY WILL BE A FLASHING VERB NOUN.
# TC BANKCALL
# CADR GOFLASH
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER OR RECYCLE RETURN
# GOPERF1 IS ENTERED WITH DESIRED CHECKLIST VALUE IN A. GOPERF1 WILL DISPLAY THIS VALUE IN R1 BY MEANS OF A
# Page 1454
# V01 N25. A FLASHING PLEASE PERFORM ON CHECKLIST (V50 N25) IS THEN DISPLAYED. NO IMMEDIATE RETURN IS MADE TO
# USER (SEE NO. 7 ABOVE).
# GOPERF1 BLANKS REGISTERS R2 AND R3
# CAF OCTXX # CODE FOR CHECKLIST VALUE XX
# TC BANKCALL
# CADR GOPERF1
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER RETURN
# GOPERF2 IS ENTERED WITH A VARIABLE NOUN AND V01 (V00 FOR N10 OR N11) IN A. GOPERF2 WILL FIRST DISPLAY THE
# REQUESTED NOUN BY MEANS OF A V01NYY OR A V00NYY. PLEASE PERFORM ON NOUN (V50 NYY) THEN BECOMES A FLASHING
# DISPLAY. NO IMMEDIATE RETURN IS MADE TO THE USER (SEE NO. 7 ABOVE).
# GOPERF2 DOES NOT BLANK ANY REGISTERS
# CAF VXXNYY # VARIABLE NOUN YY. XX=0 OR 01.
# TC BANKCALL
# CADR GOPERF2
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER RETURN
# GOPERF3 IS USED FOR A PLEASE PERFORM ON A PROGRAM NUMBER. THE DESIRED PROGRAM NO. IS ENTERED IN A. GOPERF3
# DISPLAYS THE NO. BY MEANS OF A V06 N07 FOLLOWED BY A FLASHING V50 N07 FOR A PLEASE PERFORM. NO IMMEDIATE RETURN
# IS MADE TO THE USER (SEE NO. 7 ABOVE).
# GOPERF3 BLANKS REGISTERS R2 AND R3
# CAF DECXX # REQUEST PERFORM ON PXX
# TC BANKCALL
# CADR GOPERF3
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER RETURN
# GOPERF4 IS USED FOR A PLEASE PERFORM ON AN OPTION. THE DESIRED OPTION IS ENTERED IN A AND STORED IN OPTION1.
# GOPERF4 DISPLAYS R1 AND R2 BY MEANS OF A V04N06 FOLLOWED BY A FLASHING V50N06 FOR A PLEASE PERFORM. NO
# IMMEDIATE RETURN IS MADE TO THE USER (SEE NO. 7 ABOVE).
# CAF OCTXX # REQUEST PERFORM ON OPTION XX
# TC BANKCALL
# CADR GOPERF4
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER RETURN
# GOPERF4 BLANKS REGISTER R3.
#
# Page 1455
# GODSPRET IS USED TO DISPLAY A VERB NOUN ARRIVING IN A WITH A RETURN TO THE USER AFTER THE DISPLAY HAS BEEN SENT
# OUT.
# CAF VXXXNYY
# TC BANKCALL
# CADR GODSPRET
# ... ... # RETURN TO USER.
# REGODSP IS USED TO DISPLAY A VERB NOUN ARRIVING IN A. REGODSP IS THE SAME AS GODSP ONLY REGODSP REPLACES AND
# ACTIVE NORMAL DISPLAY IF ONE WAS ACTIVE.
# CAF VXXNYY
# TC BANKCALL
# CADR REGODSP
# REFLASH IS THE SAME AS GOFLASH ONLY REFLASH REPLACES ANY ACTIVE NORMAL DISPLAY IF ONE WAS ACTIVE.
# CAF VXXNYY # VXX NYY WILL BE A FLASHING VERB NOUN
# TC BANKCALL
# CADR REFLASH
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER RETURN
# GOFLASHR IF SAME AS GOFLASH ONLY AN IMMEDIATE RETURN IS MADE TO THE USER'S CALL CADR +4.
# CAF VXXNYY
# TC BANKCALL
# CADR GOFLASHR
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER OR RECYCLE RETURN
# ... ... # IMMEDIATE RETURN FROM GOFLASHR
# GOPERF1R IS THE SAME AS GOPERF1 ONLY GOPERF1R HAS AN IMMEDIATE RETURN TO USER'S CALL CADR +4.
# GOPERF1R BLANKS REGISTERS R2 AND R3
# CAF OCTXX # CODE FOR CHECKLIST VALUE XX.
# TC BANKCALL
# CADR GOPERF1R
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER RETURN
# ... ... # IMMEDIATE RETURN FROM GOPERF1R
# GOPERF2R IS THE SAME AS GOPERF2 ONLY AN IMMEDIATE RETURN IS MADE TO USER'S CALL CADR +4.
# Page 1456
# GOPERF2R DOES NOT BLANK ANY REGISTERS
# CAF VXXXNYY # VARIABLE NOUN YY REQUESTED. XX=00 OR 01
# TC BANKCALL
# CADR GOPERF2R
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER RETURN
# ... ... # IMMEDIATE RETURN HERE FROM GOPERF2R
# GOPERF3R IS THE SAME AS GOPERF3 ONLY AN IMMEDIATE RETURN IS MADE TO USER'S CALL CADR +4.
# GOPERF3R BLANKS REGISTERS R2 AND R3
# CAF PROGXX # PERFORM PROGRAM XX
# TC BANKCALL
# CADR GOPERF3R
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER RETURN
# ... ... # GOPERF3R IMMEDIATELY RETURNS HERE
# GOPERF4R IS THE SAME AS GOPERF4 ONLY AN IMMEDIATE RETURN IS MADE TO USER'S CALL CADR +4.
# CAF OCTXX # REQUEST PERFORM ON OPTIONXX
# TC BANKCALL
# CADR GOPERF4R
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER RETURN
# ... ... # IMMEDIATE RETURN TO USER
# GOPERF4R BLANKS REGISTER R3.
#
# REFLASHR IS THE SAME AS REFLASH ONLY AN IMMEDIATE RETURN IS MADE TO THE USER'S CALL CADR +4.
# CAF VXXNYY # VXX NYY WILL BE A FLASHING VERB NOUN
# TC BANKCALL
# CADR REFLASHR
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER RETURN
# ... ... # IMMEDIATE RETURN TO USER
# REGODSPR IS THE SAME AS REGODSP ONLY A RETURN (IMMEDIATE) IS MADE TO THE USER.
# Page 1457
# CAF VXXNYY
# TC BANKCALL
# CADR REGODSPR
# ... ... # IMMEDIATE RETURN TO USER
# Page 1458
# GOMARK IS USED TO DISPLAY A MARK VERB NOUN ARRIVING IN A. NO RETURN IS MADE TO THE USER.
# GOXDSP = GOMARK
# CAF VXXNYY # VXXNYY CONTAINS VERB AND NOUN
# TC BANKCALL
# CADR GOMARK # OTHER EXTENDED VERBS USE CADR GOXDSP
# GOMARKR IS THE SAME AS GOMARK ONLY RETURN IS TO THE USER.
# GOXDSPR = GOMARKR
# CAF VXXNYY
# TC BANKCALL
# CADR GOMARKR # OTHER EXTENDED VERBS USE CADR GOXDSPR
# ... ... # IMMEDIATE RETURN OF GOMARKR
# GOMARKF DISPLAYS A FLASHING MARK VERB NOUN WITH NO IMMEDIATE RETURN TO THE USER. 3 RETURNS ARE POSSIBLE FORM
# THE ASTRONAUT (SEE NO. 7 ABOVE).
# GOXDSPF = GOMARKF
# CAF VXXNYY # VXXNYY WILL BE A FLASHING MARK VERB NOUN
# TC BANKCALL
# CADR GOMARKFR # OTHER EXTENDED VERBS USE CADR GOXDSPFR
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER OR RECYCLE RETURN
# ... ... # IMMEDIATE RETURN TO THE USER
# GOMARKFR IS THE SAME AS GOMARKF ONLY AN IMMEDIATE RETURN IS MADE TO THE USER CALL CADR +4.
# GOXDSPFR = GOMARKFR
# CAF VXXNYY # FLASHING MARK VERB NOUN
# TCF BANKCALL
# CADR GOMARKFR # OTHER EXTENDED VERBS USE CADR GOXDSPFR
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER OR RECYCLE RETURN
#
# ... ... # IMMEDIATE RETURN TO THE USER
# GOMARK1 IS USED FOR A PLEASE PERFORM ON A MARK REQUEST WITH ONLY 1 ASTRONAUT RETURN TO THE USER. NO IMMEDIATE
# RETURN IS MADE. THE DESIRED MARK PLEASE PERFORM VERB AND DESIRED NOUN IS ENTERED IN A. GOMARK1 DISPLAYS R1, R2, R
# MEANS OF A V05NYY FOLLOWED BY A FLASHING V5XNYY FOR A PLEASE PERFORM. THE ASTRONAUT WILL RESPOND WITH A MARK
# OR MARK REJECT OR AN ENTER. THE ENTER IS THE ONLY ASTRONAUT RESPONSE THAT WILL COME BACK TO THE USER.
# CAF V5XNYY # X=1,2,3,4 YY=NOUN
# TC BANKCALL
# Page 1459
# CADR GOMARK1
# ... ... # ENTER RETURN
# *** IF BLANKING DESIRED ON NON-R ROUTINES, NOTIFY DISPLAYER.
#
# GOMARK1R IS THE SAME AS A GOMARK1 ONLY AN IMMEDIATE RETURN IS MADE TO THE USER'S CALL CADR +2.
# CAF V5XNYY # X=1,2,3,4 YY=NOUN
# TC BANKCALL
# CADR GOMARK1R
# ... ... # ASTRONAUT ENTER RETURN
# ... ... # IMMEDIATE RETURN TO USER
# GOMARK2 IS THE SAME AS GOMARK1 ONLY 3 RETURNS ARE MADE TO THE USER FROM THE ASTRONAUT.
# CAF V5XNYY # X=1,2,3,4 YY=NOUN
# TC BANKCALL
# CADR GOMARK2
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER RETURN
# GOMARK2R IS THE SAME AS GOMARK1R ONLY 3 ASTRONAUT RETURNS ARE MADE TO THE USER.
# CAF V5XNYY # X=0,1,2,3,4 YY=NOUN
# TCF BANKCALL
# CADR GOMARK24
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER RETURN
# ... ... # IMMEDIATE RETURN TO THE USER.
# GOMARK3 IS USED FOR A PLEASE PERFORM ON A MARK REQUEST WITH A 3 COMP. DEC DISPLAY. THE DESIRED MARK PLEASE
# PERFORM VERB AND NOUN ARE ENTERED IN A. GOMARK3 DISPLAYS R1, R2, R3 BY MEANS OF A V06NYY FOLLOWED BY A FLASHING
# V5XNYY FOR A PLEASE PERFORM. GOMARK3 HAS 3 ASTRONAUT RETURNS TO THE USER WITH NO IMMEDIATE RETURN.
# CAF V5XNYY # X=1,2,3,4 YY=NOUN
# TC BANKCALL
# CADR GOMARK3
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# ... ... # ENTER RETURN
# GOMARK4 IS THE SAME AS GOMARK3 ONLY R2 AND R3 ARE BLANKED AND R1 IS DISPLAYED IN OCTAL.
# CAF V5XNYY # X=1,2,3,4 YY=NOUN
# TC BANKCALL
# CADR GOMARK4
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# Page 1460
# ... ... # ENTER RETURN
# EXDSPRET IS USED TO DISPLAY A VERB NOUN ARRIVING IN A WITH A RETURN MADE TO THE USER AFTER THE DISPLAY HAS BEEN
# SENT OUT.
# CAF VXNYY
# TC BANKCALL
# CADR EXDSPRET
# ... ... # RETURN TO USER
# KLEENEX CLEANS OUT ALL MARK DISPLAYS (ACTIVE AND INACTIVE). A RETURN IS MADE TO THE USER AFTER THE MARK DISPLAYS
# HAVE BEEN CLEANED OUT.
# TC BANKCALL
# CADR KLEENEX
# ... ... # RETURN TO USER
# MARKBRAN IS A SPECIAL PURPOSE ROUTINE USED FOR SAVING JOB VAC AREAS (SEE DESCRIPTION OF MARKBRAN BELOW).
# TC BANKCALL
# CADR MARKBRAN
# ... ... # BAD RETURN IF MARK DISPLAY NOT ACTIVE
# # (GOOD RETURN TO IMMEDIATE RETURN LOC OF
# # LAST FLASHING MARK R ROUTINE)
# PINBRNCH REESTABLISHES THE LAST ACTIVE FLASHING DISPLAY. IF THERE IS NO ACTIVE FLASHING DISPLAY, THE DSKY IS
# BLANKED AND CONTROL IS SENT TO ENDOFJOB.
# TC POSTJUMP
# CADR PINBRNCH
# PRIODSP IS USED AS A PRIORITY DISPLAY. IT WILL DISPLAY A GOFLASH TYPE DISPLAY WITH THREE POSSIBLE RETURNS FROM
# THE ASTRONAUT (SEE NO. 7 ABOVE).
#
# THE MAIN PURPOSE OF PRIODSP IS TO REPLACE THE PRESENT DISPLAY WITH A DISPLAY OF HIGHER PRIORITY AND TO
# PROVIDE A MEANS FOR RESTORING THE OLD DISPLAY WHEN THE PRIORITY DISPLAY
# IS RESPONDED TO BY THE ASTRONAUT.
#
# THE FORMER DISPLAY IS RESTORED BY AN AUTOMATIC BRANCH TO WAKE UP THE DISPLAY THAT WAS INTERRUPTED BY THE
# PRIO DISPLAY
# CAF VXXNYY # VXXNYY WILL BE A FLASHING VERB NOUN
# TC BANKCALL
# CADR PRIODSP
# ... ... # TERMINATE RETURN
# ... ... # PROCEED RETURN
# Page 1461
# ... ... # ENTER OR RECYCLE RETURN
# PRIODSPR IS THE SAME AS PRIODSP ONLY AN IMMEDIATE RETURN IS MADE TO THE USER'S CALL CADR +4.
# CAF VXXNYY # VXXNYY WILL BE A FLASHING VERB NOUN
# TC BANKCALL
# CADR PRIODSPR
# ... ... # TERMINATE ACTION
# ... ... # PROCEED RETURN
# ... ... # ENTER OR RECYCLE RETURN
# ... ... # IMMEDIATE RETURN
# PRIOLARM DOES A V05N09 PRIODSPR.
#
# CLEANDSP CLEANS OUT ALL NORMAL DISPLAYS (ACTIVE AND INACTIVE). A RETURN IS MADE TO THE USER AFTER NORMAL
# DISPLAYS ARE CLEANED OUT.
# TC BANKCALL
# CADR CLEANDSP
# ... ... # RETURN TO USER
# Page 1462
#
# GENERAL INFORMATION
# -------------------
#
# ALARM OR ABORT EXIT MODE --
# PRIOBORT TC ABORT
# OCT 1502
#
# PRIOBORT IS BRANCHED TO WHEN (1) A NORMAL DISPLAY IS REQUESTED AND ANOTHER NORMAL DISPLAY IS ALREADY ACTIVE
# (REFLASH AND REGODSP ARE EXCEPTIONS) OR (2) A PRIORITY DISPLAY IS REQUESTED WHEN ANOTHER PRIORITY DISPLAY IS
# ALREADY ACTIVE (A PRIORITY WITH LINUS BIT14 IS AN EXCEPTION).
#
# ERASABLE INITIALIZATION REQUIRED --
# ACCOMPLISHED BY FRESH START -- 1. FLAGWRD4 (USED EXCLUSIVELY BY DISPLAY INTERFACE ROUTINES)
# 2. NVSAVE = NORMAL VERB AND NOUN REGISTER.
# 3. EBANKTEM = NORMAL INACTIVE FLAGWORD (ALSO CONTAINS NORMALS EBANK).
# 5. R1SAVE = MARKBRAN CONTROL WORD
# 4. RESTREG = PRIORITY 30 AND SUPERBANK 3.
#
# OUTPUT --
# NVWORD = PRIO VERB AND NOUN
# NVWORD +1 (MARKNV) = MARK VERB AND NOUN
# NVWORD +2 (NVSAVE) = NORMAL VERB AND NOUN
# DSPFLG (EBANKSAV) = PRIO FLAGWORD (INCLUDING EBANK)
# DSPFLG +1 (MARKEBAN) = MARK FLAGWORD (INCLUDING EBANK)
# DSPFLG +2 (EBANKTEM) = NORMAL FLAGWORD (INCLUDING EBANK)
# CADRFLSH = PRIO USER'S CALL CADR +1 LOCATION
# CADRFLSH +1 (MARKFLSH) = MARK USER'S CALL CADR +1 LOCATION
# CADRFLSH +2 (TEMPFLSH) = NORMAL USER'S CALL CADR +1 LOCATION
# PRIOTIME = TIME EACH PRIO REQUEST FIRST SENT OUT
# OPTION1 = DESIRED OPTION FROM GOPERF4
# FLAGWRD4 = BIT INFO FOR CONTROL OF ALL DISPLAY ROUTINES
# DSPTEM1 = R1 INFO FOR ASTRONAUT FROM PERFORM DISPLAYS (NORMAL)
#
# SUBROUTINES USED -- NVSUB, FLAGUP, FLAGDOWN, ENDOFJOB, BLANKSUB, ABORT, JOBWAKE, JOBSLEEP, FINDVAC, PRIOCHNG,
# JAMTERM, NVSUBUSY, FLASHON, ENDIDLE, CHANG1, BANKJUMP, MAKECADR, NOVAC
#
# DEBRIS -- (STORED INTO)
# TEMPORARY TEMPORARIES -- A, Q, L, MPAC +2, MPAC +3, MPAC +4, MPAC +5, MPAC +6, RUPREG2, RUPTREG3, CYL,
# EBANK, RUPTREG4, LOC, BANKSET, MODE, MPAC, MPAC +1, FACEREG
# ERASABLES (SHARED AND USED WITH OTHER PROGRAMS) -- CADRSTOR, DSPLIST, LOC, DSPTEM1, OPTION1
# ERASABLES (USED ONLY BY DISPLAY ROUTINES) -- NVWORD,+1,+2, DSPFLAG,+1,+2, CADRFLSH,+1,+2, PRIOTIME, FLAGWRD4,
# Page 1463
# R1SAVE, MARK2PAC
#
# DEBRIS -- (USED BUT NOT STORED INTO) -- NOUNREG, VERBREG, LOCCTR, MONSAVE1
#
# FLAGWORD DESCRIPTIONS --
# FLAGWRD4 -- SEE DESCRIPTION UNDER LOG SECTION ERASABLE ASSIGNMENTS
#
# DSPFLG, DSPFLG+1, DSPFLG+2
# --------------------------
# BITS 1 BLANK R1
# 2 BLANK R2
# 3 BLANK R3
# 4 FLASHING DISPLAY REQUESTED
# 5 PERFORM DISPLAY REQUESTED
# 6 ----- EXDSPRET GODSPRET
# 7 PRIO DISPLAY ----- -----
# 8 ----- DEC MARK PERFORM -----
# 9 EBANK
# 10 EBANK
# 11 EBANK
# 12 ----- ----- V99PASTE
# 13 2ND PART OF PERFORM
# 14 REFLASH OR REDO ----- REFLASH OR REDO
# 15 ----- MARK REQUEST -----
#
# RESTARTING DISPLAYS --
#
# RULES FOR THE DSKY OPERATOR --
# 1. PROCEED AND TERMINATE SERVE AS RESPONSES TO REQUESTS FOR OPERATOR RESPONSE (FLASHING Y/N). AS LONG
# AS THERE IS ANY REQUEST AWAITING OPERATOR RESPONSE, ANY USE OF PROCEED OR TERMINATE WILL SERVE AS
# RESPONSES TO THAT REQUEST. CARE SHOULD BE EXERCISED IN ATTEMPTING TO KILL AN OPERATOR INITIATED MONITOR
# WITH PROCEED AND TERMINATE FOR THIS REASON.
# 2. THE ASTRONAUT MUST RESPOND TO A PRIORITY DISPLAY NO SOONER THAN 2 SECONDS FROM THE TIME THE
# PROGRAM SENT OUT THE REQUEST FOR OPERATOR RESPONSE (THE ASTRONAUT WOULD SEE THIS DISPLAY FOR LESS TIME
# DUE TO TIME IT TAKES TO GET DISPLAY SENT OUT.) IF THE ASTRONAUT RESPONDS TOO SOON, THE PRIORITY DISPLAY
# IS SENT OUT AGAIN -- AND AGAIN UNTIL AN ACCUMULATED 2 SECS FROM THE TIME THE FIRST PRIORITY DISPLAY
# OUT. THE SAME 2 SEC. DELAY WILL OCCUR AT 163.84 SECS OR IN ANY MULTIPLE OF THAT TIME DUE TO PROGRAM
# CONSIDERATION.
# 3. KEY RELEASE BUTTON --
# A) IF THE KEY RELEASE LIGHT IS ON, IT SIMPLY RELEASES THE KEYBOARD AND DISPLAY FOR INTERNAL USE.
# B) IF THE KEY RELEASE LIGHT IS OFF, AND IF SOME REQUEST FOR OPERATOR RESPONSE (FLASHING V/N) IS STILL
# AWAITING RESPONSE THEN IT RE-ESTABLISHES THE DISPLAYS THAT ORIGINALLY REQUESTED RESPONSE.
# IF AN OPERATOR WANTS THEREFORE TO RE-ESTABLISH BUT CONDITION (A) IS ENCOUNTERED, A SECOND DEPRESSION OF
# KEY RELEASE BUTTON MAY BE NECESSARY.
# 4. IT IS IMPORTANT TO ANSWER ALL REQUESTS FOR OPERATOR RESPONSE.
# 5. IT IS ALWAYS GOOD PRACTICE TO TERMINATE AN EXTENDED VERB BEFORE ASKING FOR ANOTHER ONE OR THE SAME ONE
# OVER AGAIN.
#
# SPECIAL CONSIDERATONS --
# Page 1464
# 1. MPAC +2 SAVED ONLY IN MARK DISPLAYS
# 2. GODSP(R), REGODSP(R), GOMARK(R) ALWAYS TURN ON THE FLASH IF ENTERED WITH A PASTE VERB REQUEST.
# 3. ALL NORMAL DISPLAYS ARE RESTARTABLE EXCEPT GODSP(R), REGODSP(R)
# 4. ALL EXTENDED VERBS WITH DISPLAYS SHOULD START WITH A TC TESTXACT AND FINISH WITH A TC ENDEXT.
# 5. GODSP(R) AND REGODSP(R) MUST BE IN THE SAME EBANK AND SUPERBANK AS THE LAST NORMAL DISPLAY RESTARTED
# BY A .1 RESTART PHASE CHANGE.
# 6. IN ORDER TO SET UP A NON DISPLAY .1 RESTART POINT, THE USER MUST MAKE CERTAIN THAT RESTREG CONTAINS THE
# CORRECT PRIORITY AND SUPERBANK AND THAT EBANKTEM CONTAINS THE CO
# 7. IF CLEANDSP IS RESTARTED VIA A .1 PHASE CHANGE, CAF ZERO SHOULD BE EXECUTED BEFORE THE TC BANKCALL.
# Page 1465
# CALLING SEQUENCE FOR BLANKING
# CAF BITX # X=1,2,3 BLANK R1,R2,R3 RESPECTIVELY
# TC BLANKET
# ... ... # RETURN TO USER HERE
# IN ORDER TO USE BLANKET CORRECTLY, THE USER MUST USE A DISPLAY ROUTINE THAT ENDS IN R FIRST FOLLOWED BY THE CALL
# TO BLANKET AT THE IMMEDIATE RETURN LOC.
BLOCK 02
SETLOC FFTAG4
BANK
COUNT 02/DSPLA
BLANKET TS MPAC +6
CS PLAYTEM4
MASK MPAC +6
INDEX MPAC +5
ADS PLAYTEM4
TC Q
ENDMARK TC POSTJUMP
CADR MARKEND
CLEARMRK CAF ZERO
TS EXTVBACT
INHINT
CS BIT1
MASK FLAGWRD4
TS FLAGWRD4
RELINT
TC Q
# *** ALL EXTENDED VERB ROUTINES THAT HAVE AT LEAST ONE FLASHING DISPLAY MUST TCF ENDMARK OR TCF ENDEXT WHEN
# FINISHED.
BANK 10
SETLOC DISPLAYS
BANK
COUNT 10/DSPLA
# NTERONLY IS USED TO DIFFERENTIATE THE MARK ROUTINE WITH ONLY ONE RETURN TO THE USER FROM THE MARKING ROUTINE WITH
# 3 RETURNS TO THE USER. THIS ROUTINE IS ONLY USED BY GOMARK1 AND GOMARK1R.
MARKEND TC CLEARMRK
TCF MARKOVER
# Page 1466
GOMARK TS PLAYTEM1 # ENTRANCE FOR MARK GODSP
GOMARS CAF BIT15 # BIT15 SET FOR ALL MARK REQUESTS
TCF GOFLASH2
KLEENEX CAF ZERO # CLEAN OUT EXTENDED VERBS
GOMARKF TS PLAYTEM1 # ENTRANCE FOR MARK GOFLASH
CAF MARKFMSK # MARK, FLASH
TCF GOFLASH2
GOMARK2 TS PLAYTEM1 # MARK GOPERFS-3 AST. RETURNS
MARKFORM CAF MPERFMSK # MARK, PERFORM, FLASH
TCF GOFLASH2
GOMARK3 TS PLAYTEM1 # USED FOR 3COMP DECIMAL PERFORM
CAF MARK3MSK
TCF GOFLASH2
GOMARK4 TS PLAYTEM1
CAF MARK4MSK # MARK,PERFORM,FLASH,BLANK
TCF GOFLASH2
GOMARKR TS PLAYTEM1 # ENTRANCE FOR MARK GODSPR
CAF BIT15
TCF GODSPR2
GOMARKFR TS PLAYTEM1 # ENTRANCE FOR MARK GOFLASHR
CAF MARKFMSK
TCF GODSPRS
GOMARK2R TS PLAYTEM1 # MARK GOPERFS-3 AST. RETS+ IMMEDIATE RET.
CAF MPERFMSK # MARK, PERFORM, FLASH
TCF GODSPRS
GOMARK3R TS PLAYTEM1
CAF MARK3MSK
TCF GODSPRS
MAKEMARK CAF ONE
TC COPIES
CA FLAGWRD4 # IS NORM OR PRIO BUSY OR WAITING
MASK OCT34300
CCS A
TCF CHKPRIO
CA FLAGWRD4 # IS MARK SLEEPING DUE TO ASTRO BUSY?
# Page 1467
MASK BIT9
EXTEND
BZF MARKPLAY # NO
TCF ENDOFJOB
MARKPLAY INHINT
CS FIVE # RESET MARK OVER NORM, SET MARK
MASK FLAGWRD4
AD ONE
TS FLAGWRD4
RELINT
GOGOMARK CS MARKFLAG # PERFORM
MASK BIT5
CCS A
TCF MARKCOP
CS MARKNV
TS MARKNV
MARKCOP CAF ONE # MARK INDEX
TCF PRIOPLAY
COPYTOGO CA MPAC2SAV
TS MPAC +2
COPYPACS INDEX COPINDEX
CAF PRIOOCT
TS GENMASK
INDEX COPINDEX
CA EBANKSAV # Was CAF --- RSB 2004.
TS TEMPOR2 # ACTIVE EBANK AND FLAG
TS EBANK
TC Q
# PINCHEK CHECKS TO SEE IF THE CURRENT MARK REQUEST IS MADE BY THE ASTRONAUT WHILE INTERUPTING A GOPLAY DISPLAY
# (A NORMAL OR A PRIO). IF THE ASTRONAUT TRIES TO MARK DURING A PRIO, THE CHECK FAIL LIGHT GOES ON AND THE MARK
# REQUEST IS ENDED. IF HE TRIES TO MARK DURING A NORM, THE MARK IS ALLOWED. IN THIS CASE THE NORM IS PUT TO SLEEP
# UNTIL ALL MARKING IS FINISHED.
#
# IF THE MARK REQUEST COMES FROM THE PROGRAM DURING A TIME THE ASTRONAUT IS NOT INTERRUPTING A NORMAL OR A
# PRIO, THE MARK REQUEST IS PUT TO SLEEP UNTIL THE PRESENT ACTIVE DISPLAY IS RESPONDED TO BY THE ASTRONAUT.
CHKPRIO CA FLAGWRD4 # MARK ATTEMPT DURING PRIO
MASK OCT24100
CCS A
TCF MARSLEEP
# Page 1468
CS FLAGWRD4
MASK BIT3 # SET MARK OVER NORM
INHINT
ADS FLAGWRD4
TCF SETNORM
MARKPERF CA MARKNV
MASK VERBMASK
TCF NV50DSP
GODSP TS PLAYTEM1
GODSP2 CAF ZERO
TCF GOFLASH2
GODSPRET TS PLAYTEM1 # ENTRANCE FOR A GODSP WITH A PASTE
CAF BIT6 # SET BIT6 TO GO BACK TO USER AFTER NVSUB
TCF GOFLASH2
GODSPR TS PLAYTEM1
GODSPR1 CAF ZERO
GODSPR2 TS PLAYTEM4
CAF ZERO # * DON'T MOVE
TCF GODSPRS1
# CLEANDSP IS USED FOR CLEARING OUT A NORMAL DISPLAY THAT IS PRESENTLY ACTIVE OR A NORMAL DISPLAY THAT IS
# SET UP TO BE STARTED OR RESTARTED.
#
# NORMALLY THE USER WILL NOT NEED TO USE THIS ROUTINE SINCE A NEW NORMAL DISPLAY AUTOMATICALLY CLEARS OUT AN
# OLD DISPLAY.
#
# CALLING SEQUENCE FOR CLEANDSP --
#
# TC BANKCALL
# CADR CLEANDSP
CLEANDSP CAF ZERO
REFLASH TS PLAYTEM1
CAF REDOMASK # FLASH AND PERMIT
TCF GOFLASH2
REGODSP TS PLAYTEM1
CAF BIT14
TCF GOFLASH2
# Page 1469
REGODSPR TS PLAYTEM1
CAF BIT14
TCF GODSPR2
CLOCPLAY TS PLAYTEM1
CAF CLOCKCON
TCF GOFLASH2
GOFLASH TS PLAYTEM1
CAF BIT4 # LEAVE ONLY FLASH BIT SET
GOFLASH2 TS PLAYTEM4
TC SAVELOCS
RELINT
TCF MAKEPLAY # BRANCH DIRECT WITH NO SEPARATE JOB CALL
PRIODSPR TS PLAYTEM1
CAF BITS7+4
TCF GODSPRS
PRIODSP TS PLAYTEM1
SETPRIO CAF BITS7+4
TCF GOFLASH2
MAKEPRIO CAF ZERO
TS COPINDEX
TC LINUSCHR
TCF HIPRIO # LINUS RETURN
CA FLAGWRD4
MASK OCT20100 # IS PRIO IN ENDIDLE OR BUSY
CCS A
TCF PRIOBORT # YES, ABORT
HIPRIO CA FLAGWRD4 # MARK ACTIVE
MASK OCT40400
EXTEND
BZF ASKIFNRM # NO
SETMARK CAF ZERO
TCF JOBXCHS
ASKIFNRM CA FLAGWRD4 # NORMAL ACTIVE
MASK OCT10200 # BITS 13+8
EXTEND
# Page 1470
BZF OKTOCOPY # NO
SETNORM CAF ONE
TCF JOBXCHS
OKTOCOPY TC COPYNORM
TC WITCHONE
TC JOBWAKE
TC XCHTOEND
REDOPRIO CA TIME1 # SAVE TIME PRIODSP SENT OUT
TS PRIOTIME
KEEPPRIO CAF ZERO # START UP PRIO DISPLAY
TCF PRIOPLAY
MAKEPLAY CA PRIORITY # SAVE USER'S PRIORITY
MASK PRIO37
TS USERPRIO
CAF PRIO33 # RAISE PRIORITY FOR FAST JOBS AFTER WAKE
TC PRIOCHNG
CA PLAYTEM4 # IS IT MARK OR PRIO OR NORM
MASK BITS15+7
CCS A
TCF MAKEPRIO # ITS PRIO
TCF IFLEGAL
TCF MAKEMARK # ITS MARK
IFLEGAL CAF TWO
TS COPINDEX
TC LINUSCHR
TCF OKTOPLAY # LINUS RETURN
CS EBANKTEM
MASK BIT4
CCS A
TCF OKTOPLAY # NO
CA FLAGWRD4 # WAS NORM ASLEEP
MASK NBUSMASK # ARE ANY NORMS ASLEEP
EXTEND
BZF OKTOPLAY # NO
PRIOBORT TC P00DOO
OCT 1502
# Page 1471
OKTOPLAY TC COPIES2
CA USERPRIO
EXTEND
ROR SUPERBNK
TS RESTREG
CA FLAGWRD4 # PRIO OR MARK GOING
MASK PMMASK
CCS A
TCF GOSLEEPS # MARK GOING
TCF +2
TCF GOSLEEPS
# COULD PUT NORM BUSY CHECK HERE TO SAVE TIME
TC WITCHONE # IS IT NVSUB BUSY, ENDIDLE OR NOONE
TC JOBWAKE
TC XCHTOEND
PLAYJUM1 CAF TWO
PRIOPLAY TS COPINDEX
TCF GOPLAY
EXDSPRET TS PLAYTEM1
CAF BIT15+6
TCF GOFLASH2
GOPERF1 TS NORMTEM1 # STORE DESIRED CHECKLIST VALUE
CAF V01N25 # USED TO DISPLAY CHECKLIST VALUE IN R1
GOPERFS TS PLAYTEM1
CAF PERFMASK # LEAVE ONLY FLASH, PERFORM, BLANKING
TCF GOFLASH2
GOPERF2 TS PLAYTEM1 # DESIRED VERB-NOUN TO DISPLAY R1,R2,R3
CAF PERF2MSK
TCF GOFLASH2
GOPERF4 TC PURRS4
TCF GOFLASH2
GOFLASHR TS PLAYTEM1
# Page 1472
CAF BIT4 # LEAVE ONLY FLASH BIT SET
GODSPRS TS PLAYTEM4
CAF THREE
GODSPRS1 INHINT # IMMEDIATE RETURN IS CALL CADR +4
TS RUPTREG3
CA PRIORITY # MAKE DISPLAY ONE HIGHER THAN USER
MASK PRIO37
TS NEWPRIO
CA PLAYTEM4 # IS THIS A FLASHING R DISPLAY
MASK BIT4
CCS A
TCF VACDSP # YES, MAKE DSPLAY JOB A VAC
CA NEWPRIO # NO, MAKE DSPLAY JOB A NOVAC
TC NOVAC
EBANK= WHOCARES
2CADR MAKEPLAY
TCF BOTHJOBS
VACDSP CA BBANK
EXTEND
ROR SUPERBNK
TS L
CAF MAKEGEN
TC SPVAC
BOTHJOBS TC SAVELOCS # COPY TEMPS INTO PERMANENT REGISTERS
EXTEND # SAVE NVWORD AND USER'S MPAC +2
DCA MPAC +1
INDEX LOCCTR
DXCH MPAC +1
EXTEND # SAVE USER'S CADR, FLAGS AND EBANK
DCA MPAC +3
INDEX LOCCTR
DXCH MPAC +3
CA LOCCTR
TS MPAC +5
TC SAVELOCR
RELINT
TCF BANKJUMP # CALL CADR +4
# Page 1473
GOPERF1R TS NORMTEM1 # DESIRED CHECKLIST VALUE
CAF V01N25 # DISPLAYS CHECKLIST VALUE IN R1
GOPERFRS TS PLAYTEM1
CAF PERFMASK # LEAVE ONLY FLASH, PERFORM, BLANKING
TCF GODSPRS
GOPERF2R TS PLAYTEM1 # DESIRED VERB-NOUN TO DISPLAY R1,R2,R3
CAF PERF2MSK
TCF GODSPRS
GOPERF4R TC PURRS4
TCF GODSPRS
PURRS4 TS OPTION1 # DESIRED OPTION CODE
CAF V04N06
TS PLAYTEM1
CAF PERF4MSK # FLASH, PERFORM AND EBANK R3
TC Q
SAVELOCS INHINT
CS OCT3400 # EBANK BITS
MASK PLAYTEM4
AD EBANK
TS PLAYTEM4
SAVELOCR LXCH Q
TC MAKECADR
TS PLAYTEM3
AD RUPTREG3 # NOT USED FOR NON R ROUTINES
TC L
COPYNORM CAF ZERO
COPIES TS COPINDEX
COPIES2 INHINT
CA PLAYTEM4 # FLAGWORD
INDEX COPINDEX
TS EBANKSAV # EQUIV TO DSPFLG
MASK CADRMASK # FLASH AND GODSPRET
EXTEND
# Page 1474
BZF SKIPADD
CA PLAYTEM3
INDEX COPINDEX
TS CADRFLSH
SKIPADD CA PLAYTEM1 # VERB NOUN
INDEX COPINDEX
TS NVWORD
TCF RELINTQ
GOSLEEPS INDEX COPINDEX
CA PRIOOCT
MASK WAITMASK
TC UPENT2
WAITMASK OCT 3004
CS ONE
AD COPINDEX
TS FACEREG
XCHSLEEP INDEX FACEREG
CAF WAKECADR
INHINT
TC JOBWAKE # FIND CADR IN JOB AREA
TC XCHTOEND # CAUSES AWAKENED JOB TO GO TO ENDOFJOB
INDEX FACEREG # REPLACE SAME CADR BUT NEW JOB AREA
CAF WAKECADR
TCF JOBSLEEP
JOBXCHS TS FACEREG # CONTROLS TYPE OF DISPLAY PUT TO SLEEP
TC WITCHONE
TC JOBWAKE
CA FACEREG
INDEX LOCCTR
TS FACEREG
CAF XCHQADD