DS1 
          IDENT  DS1,DSM
          PERIPH
          BASE   MIXED
          SST    RDS
*COMMENT  DS1 - 6612/DD60 DISPLAY ALIGNMENT TEST. 
          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          TITLE  DS1 - 6612/DD60 DISPLAY ALIGNMENT TEST.
          SPACE  4
***       DS1 - 6612/DD60 DISPLAY ALIGNMENT TEST. 
*         E. W. HOBBS.       69/01/23.
          SPACE  4
**        COMMON DECKS. 
  
  
*CALL     COMDMAC 
*CALL     COMPMAC 
*CALL     COMSCPS 
          SPACE  4
****      DIRECT LOCATION ASSIGNMENTS.
  
 NC       EQU    15          NUMBER OF CP-S (FOR *COMDSYS*) 
 XC       EQU    16          X - COORDINATE 
 YC       EQU    17          Y - COORDINATE 
*         *** NOTE *** KX, KY, KB MUST BE KEPT IN SEQUENCE
 KX       EQU    26          KEYBOARD BUFFER X-COORDINATE 
 KY       EQU    27          KEYBOARD BUFFER Y-COORDINATE 
 KB       EQU    30 - 34     KEYBOARD BUFFER (5 LOC)
 KI       EQU    35          KEYBOARD INDEX 
 PA       EQU    36          PROGRAM ADDRESS
 PI       EQU    37          PROGRAM INDEX
 TS       EQU    40          TUBE SWITCH
 TB1      EQU    41          TUBE 1 SELECTION 
 TB2      EQU    42          TUBE 2 SELECTION 
 PM       EQU    43          TEST SELECTION MNEMONIC
 SZ       EQU    44          SIZE CODE
 TB       EQU    45          TUBE SELECTION 
 CR       EQU    46          CHARACTER SELECTION
 SIZ      EQU    47          SIZE SELECTION 
  
 EQ       EQU    60          EST ORDINAL
 AF       EQU    61          *ALL TESTS* FLAG 
  
  
**        ASSEMBLY CONSTANTS. 
  
 NAME     MICRO  1,, DS1
 CH       EQU    CHDS        DISPLAY CHANNEL
 DSCT     EQU    0           DISPLAY CYCLE (MS.)
  
****
 DSM      TITLE  DS1 - MAIN ROUTINE 
          ORG    PPFW 
  
**        DSM - MAIN PROGRAM. 
  
  
 DSM      RJM    PRS         PRESET 
 DSM1     RJM    KBI         INPUT FROM KEYBOARD
          RJM    0,PA        DISPLAY
          LDD    TS          TOGGLE TUBE SWITCH 
          LMN    1
          STD    TS 
          RJM    0,PA 
          RJM    PSS         PAUSE FOR SYSTEM 
          UJN    DSM1        LOOP 
 KBI      TITLE    KEYBOARD INPUT ROUTINES. 
**        COMMON DECKS. 
  
  
*CALL     COMPCHI 
 KBI      SPACE  4,10 
**        KBI - KEYBOARD INPUT AND INTERPRETATION.
* 
*         USES   KB, KI, T1.
* 
*         CALLS  ATR, DRP, EEB, HDC, HOL, TTC.
  
  
 KBI      SUBR               ENTRY/EXIT 
          LDD    CP 
          ADN    STSW 
          CRD    CM 
          LDD    CM+2 
          LPN    1
          ZJN    KBI0.0      IF NO ROLLOUT FLAG 
          LJM    DRP         DROP DISPLAY 
 KBI0.0   BSS    0
          FNC    7020,CH     SELECT KEYBOARD INPUT
          ACN    CH 
          IAN    CH 
          DCN    CH 
          ZJN    KBI0.1      IF NO INPUT
          LMC    0
 KBIA     EQU    *-1
          ZJN    KBIX        IF SAME INPUT
          LMM    KBIA        STORE NEW INPUT
 KBI0.1   STM    KBIA 
          ZJN    KBIX        RETURN IF NO INPUT 
  
          STD    T1          SAVE INPUT 
          LMN    1R*
          NJN    KBI1        IF NOT +*+ 
          RJM    HDC         HOLD DISPLAY CHANNEL 
          UJN    KBIX        RETURN 
  
 KBI1     LMN    1R$&1R*
          NJN    KBI2        IF NOT *LEFT BLANK*
          RJM    EEB         ERASE ENTRY BUFFER 
          LJM    KBIX        RETURN 
  
 KBI2     LMN    1R &1R$
          NJN    KBI3        IF NOT *RIGHT BLANK* 
          LJM    DRP         DROP DISPLAY 
  
 KBI3     LMN    1R.&1R 
          NJN    KBI4        IF NOT *.* 
          RJM    DDS         DROP DISPLAY 
          RJM    RDS         REQUEST DISPLAY
          RJM    MDC         MODIFY CHANNEL INSTRUCTIONS
          UJN    KBI6        RETURN 
  
 KBI4     LMN    60&1R. 
          NJN    KBI5        IF NOT *CR*
          RJM    TTC         TOGGLE BETWEEN TEST AND CONTROL
          UJN    KBI6        RETURN 
  
 KBI5     LMN    61&60
          NJN    KBI7        IF NOT *BACKSPACE* 
          LDD    KI 
          ZJN    KBI6        RETURN IF FIRST ENTRY
          SOD    KI          DECREMENT KEYBOARD INDEX 
          LDN    0           CLEAR PREVIOUS ENTRY 
          STM    KB,KI
 KBI6     LJM    KBIX        RETURN 
  
 KBI7     LMN    62&61
          NJN    KBI8        IF NOT *SPACE* 
          RJM    ATR         ADVANCE TEST ROUTINE 
          UJN    KBI6        RETURN 
  
 KBI8     LDD    KI          CHECK BUFFER INDEX 
          LMN    4
          ZJN    KBI6        RETURN IF BUFFER FULL
          LDD    T1          STORE CHARACTER
          STM    KB,KI
          AOD    KI          ADVANCE INDEX
          UJN    KBI6        RETURN 
 EEB      SPACE  4
**        EEB - ERASE ENTRY BUFFER. 
* 
*         USES   KB, KI.
  
  
 EEB      SUBR               ENTRY/EXIT 
 EEB1     LDN    0           CLEAR ENTRY
          STM    KB,KI
          SOD    KI          DECREMENT INDEX
          PJN    EEB1        LOOP 
          LDN    0
          STD    KB 
          STD    KI          RESET INDEX TO 0 
          UJN    EEBX        RETURN 
 CTL      TITLE    CONTROL ROUTINES 
**        CTL - CONTROL ROUTINE.
* 
*         USES   T3, T4, T5.
* 
*         CALLS  C6D, EEB.
  
  
 CTL      SUBR               ENTRY/EXIT 
          RJM    DSS         DISPLAY SYSTEM STATUS
          FNC    7000,CH     SELECT LEFT SCREEN, 64 CHARACTERS/LINE 
          ACN    CH 
          LDC    CTLAL       DISPLAY LEFT SCREEN INSTRUCTIONS 
          OAM    CTLA,CH
          DCN    CH 
          LDN    10          DELAY
          SBN    1
          NJN    *-1
          FNC    7001,CH     SELECT LEFT SCREEN, 32 CHARACTERS/LINE 
          ACN    CH 
          LDN    CTLBL       DISPLAY LEFT SCREEN HEADERS
          OAM    CTLB,CH
          DCN    CH 
          LDN    10          DELAY
          SBN    1
          NJN    *-1
          FNC    7100,CH     SELECT RIGHT SCREEN, 64 CHARACTERS/LINE
          ACN    CH 
          LDN    CTLCL       DISPLAY RIGHT SCREEN HEADER
          OAM    CTLC,CH
          DCN    CH 
          LDN    10          DELAY
          SBN    1
          NJN    *-1
          FNC    7101,CH     SELECT RIGHT SCREEN, 32 CHARACTERS/LINE
          ACN    CH 
          LDN    CTLDL       DISPLAY RIGHT SCREEN INSTRUCTIONS
          OAM    CTLD,CH
          DCN    CH 
          LDN    10          DELAY
          SBN    1
          NJN    *-1
          FNC    7102,CH     SELECT RIGHT SCREEN, 16 CHARACTERS/LINE
          ACN    CH 
          LDN    6           DISPLAY KEYBOARD BUFFER
          OAM    KX,CH
          DCN    CH 
          LJM    CTLX        RETURN 
  
 CTLA     BSS    0
          DATA   6000 
          DATA   7660 
          DATA   H*TEST - SELECT FROM LIBRARY LIST.*
          DATA   6000 
          DATA   7640 
          DATA   H*TUBE - L = LEFT* 
          DATA   6070 
          DATA   7630 
          DATA   H*R = RIGHT* 
          DATA   6070 
          DATA   7620 
          DATA   H*B = BOTH*
          DATA   6000 
          DATA   7600 
          DATA   H*CHAR - CHARACTER DESIRED FOR DISPLAY*
          DATA   6000 
          DATA   7560 
          DATA   H*SIZE - S = 64 CHARACTERS/LINE* 
          DATA   6070 
          DATA   7544 
          DATA   H*M = 32 CHARACTERS/LINE*
          DATA   6070 
          DATA   7530 
          DATA   H*L = 16 CHARACTERS/LINE*
          DATA   6000 
          DATA   7410 
          DATA   H*A = FULL ALPHABET. SELECT TUBE, SIZE.* 
          DATA   6000 
          DATA   7374 
          DATA   H*C = FULL SCREEN, ONE CHARACTER. SELECT TUBE, SIZE.*
          DATA   6000 
          DATA   7360 
          DATA   H*D = 32 X 32 DOT RASTER. SELECT TUBE.*
          DATA   6000 
          DATA   7344 
          DATA   H*I = 15 CHARACTERS EACH SIZE. SELECT TUBE.* 
          DATA   6000 
          DATA   7330 
          DATA   H*L = DISPLAY ALL TESTS. SELECT TUBE, CHAR, SIZE.* 
          DATA   6000 
          DATA   7314 
          DATA   H*S = SINGLE CHARACTER, CENTERED. SELECT TUBE, CHAR, * 
          DATA   H*SIZE.* 
          DATA   6000 
          DATA   7300 
          DATA   H*X = CROSSED DIAGONAL LINES. SELECT TUBE.*
          DATA   6000 
          DATA   7264 
          DATA   H*Z = DOT/CHAR CENTERING COMPARISON. SELECT TUBE, SIZE*
          DATA   6000 
          DATA   7154 
          DATA   H*CR - TOGGLE BETWEEN CONTROL AND TEST.* 
          DATA   6000 
          DATA   7140 
          DATA   H*BKSP - CORRECT TYPING ERROR.*
          DATA   6000 
          DATA   7124 
          DATA   H*LEFT BLANK - ERASE ALL TYPED ENTRIES.* 
          DATA   6000 
          DATA   7110 
          DATA   H*RIGHT BLANK - DROP PROGRAM.* 
          DATA   6000 
          DATA   7060 
          DATA   H+* - HOLD DISPLAY CHANNEL.+ 
          DATA   6000 
          DATA   7044 
          DATA   H*. - DROP DISPLAY AND WAIT FOR REASSIGNMENT.* 
          DATA   6000 
          DATA   7030 
          DATA   H*SPACE BAR - L TEST, STEP TO NEXT TEST.*
          DATA   6140 
          DATA   7014 
          DATA   H*ALL OTHERS, TOGGLE BETWEEN CONTROL AND TEST.*
 CTLAL    EQU    *-CTLA 
  
 CTLB     BSS    0
          DATA   6100 
          DATA   7720 
          DATA   H*TEST CODE DEFINITIONS* 
          DATA   6200 
          DATA   7450 
          DATA   H*LIBRARY DEFINITIONS* 
          DATA   6240 
          DATA   7204 
          DATA   H*CONTROL* 
 CTLBL    EQU    *-CTLB 
  
 CTLC     BSS    0
          DATA   6220 
          DATA   7400 
          DATA   H*TEST    TUBE    CHAR    SIZE*
 CTLCL    EQU    *-CTLC 
  
 CTLD     BSS    0
          DATA   6100 
          DATA   7600 
          DATA   H*DISPLAY ALIGNMENT ROUTINES*
          DATA   6100 
          DATA   7200 
          DATA   H*SELECT FROM LIBRARY LIST*
          DATA   6120 
          DATA   7100 
          DATA   H*(A,C,D,I,L,S,X, OR Z)* 
 CTLDL    EQU    *-CTLD 
 TRA      TITLE    TEST ROUTINES
**        TRA - TEST ROUTINE *A*. 
*         FULL ALPHABET.
* 
*         CALLS  FCN, TCR.
  
  
 TRA      SUBR               ENTRY/EXIT 
          RJM    TCR         SELECT TUBE, CHARACTER, SIZE 
          RJM    FCN         FUNCTION CONSOLE 
          ACN    CH 
          LDD    SZ 
          NJN    TRA1        IF NOT *SMALL* 
          LDN    TRAAL
          OAM    TRAA,CH
          UJN    TRA3 
 TRA1     SBN    1
          NJN    TRA2        IF NOT *MEDIUM*
          LDN    TRABL
          OAM    TRAB,CH
          UJN    TRA3 
 TRA2     LDN    TRACL
          OAM    TRAC,CH
 TRA3     BSS    0
          DCN    CH 
          UJN    TRAX        RETURN 
  
 TRAA     BSS    0
          DATA   6000 
          DATA   7400 
          DATA   H$ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-*/()=,.$ 
 TRAAL    EQU    *-TRAA 
  
 TRAB     BSS    0
          DATA   6000 
          DATA   7420 
          DATA   H$ABCDEFGHIJKLMNOPQRSTUVWXYZ$
          DATA   6000 
          DATA   7360 
          DATA   H$A0123456789+-*/()=,.A$ 
 TRABL    EQU    *-TRAB 
  
 TRAC     BSS    0
          DATA   6000 
          DATA   7500 
          DATA   H$ABCDEFGHIJKLMNO$ 
          DATA   6000 
          DATA   7400 
          DATA   H$PQRSTUVWXYZ01234$
          DATA   6000 
          DATA   7300 
          DATA   H$A56789+-*/()=,.A$
 TRACL    EQU    *-TRAC 
 TRC      SPACE  4
**        TRC - TEST ROUTINE *C*. 
*         FULL SCREEN, ONE CHARACTER. 
* 
*         USES   SZ, T4 - T7. 
* 
*         CALLS  FCN, TCR.
  
  
 TRC      SUBR               ENTRY/EXIT 
          RJM    TCR         SELECT TUBE, CHARACTER, SIZE.
          LDD    CR 
          LPN    77 
          STD    CR 
          SHN    6
          RAD    CR 
          RJM    FCN         FUNCTION CONSOLE 
          ACN    CH 
          LDM    TRCA,SZ     SET LINE ADVANCE 
          STD    T6 
          LDC    6000        SET X-COORDINATE 
          STD    T5 
          LDC    7000        SET INITIAL Y-COORDINATE 
          STD    T4 
 TRC1     LDM    TRCB,SZ     SET BYTES/LINE 
          STD    T7 
          LDN    2           OUTPUT COORDINATES 
          OAM    T4,CH
 TRC2     LDD    CR          DISPLAY 2 CHARACTERS 
          OAN    CH 
          SOD    T7          DECREMENT BYTE COUNT 
          NJN    TRC2        LOOP TO END OF LINE
          LDD    T6          ADVANCE Y-COORDINATE 
          RAD    T4 
          LDD    T4 
          NJN    TRC1        LOOP TO TOP OF SCREEN
          DCN    CH 
          LJM    TRCX        RETURN 
  
 TRCA     BSS    0
          DATA   10 
          DATA   20 
 TRCB     BSS    0
          DATA   40 
          DATA   20 
          DATA   10 
 TRD      SPACE  4
**        TRD - TEST ROUTINE *D*. 
*         32 X 32 DOT RASTER. 
* 
*         USES   T4, T5.
* 
*         CALLS  FCN, TCR.
  
  
 TRD      SUBR               ENTRY/EXIT 
          RJM    TCR         SELECT TUBE
          RJM    FCN         FUNCTION CONSOLE 
          LDD    TS          CHECK TUBE SWITCH
          ZJN    TRD1        IF NOT TUBE 1
          LDD    TB1         SET TUBE 1 
          UJN    TRD2 
 TRD1     LDD    TB2         SET TUBE 2 
 TRD2     ADC    7010        FUNCTION DOT MODE
          FAN    CH 
          LDC    7000        SET Y - COORDINATE 
          STD    T4 
          ACN    CH 
 TRD3     LDC    6000        SET X-COORDINATE 
          STD    T5 
 TRD4     LDN    2           OUTPUT COORDINATES 
          OAM    T4,CH
          LDN    20          ADVANCE X-COORDINATE 
          RAD    T5 
          LMC    7000 
          NJN    TRD4        LOOP TO END OF LINE
          LDN    20          ADVANCE Y-COORDINATE 
          RAD    T4 
          LDD    T4 
          NJN    TRD3        IF NOT BOTTOM OF SCREEN
          DCN    CH 
          LJM    TRDX        RETURN 
 TRI      SPACE  4
**        TRI - TEST ROUTINE *I*. 
*         15 CHARACTERS EACH SIZE.
* 
*         USES   SZ.
* 
*         CALLS  FCN, TCR.
  
  
 TRI      SUBR               ENTRY/EXIT 
          RJM    TCR         SELECT TUBE
          LDC    7200        INITIALIZE Y-COORDINATE
          STM    TRIA+1 
          LDN    0           SET *SMALL* SIZE 
          STD    SZ 
 TRI1     RJM    FCN         FUNCTION CONSOLE 
          ACN    CH 
          LDN    TRIAL       DISPLAY LINE 
          OAM    TRIA,CH
          DCN    CH 
          LDC    200         ADVANCE Y-COORDINATE 
          RAM    TRIA+1 
          AOD    SZ          ADVANCE SIZE 
          LMN    3
          NJN    TRI1        IF NOT FINISHED
          UJN    TRIX        RETURN 
  
 TRIA     BSS    0
          DATA   6000 
          DATA   7200 
          DATA   H*INTENSITY ADJUST*
 TRIAL    EQU    *-TRIA 
 TRS      SPACE  4
**        TRS - TEST ROUTINE *S*. 
*         SINGLE CHARACTER, CENTERED. 
* 
*         CALLS  FCN, TCR.
  
  
 TRS      SUBR               ENTRY/EXIT 
          RJM    TCR         SELECT TUBE, CHARACTER, SIZE 
          RJM    FCN         FUNCTION CONSOLE 
          LDD    CR 
          NJN    TRS1 
          LDN    1R*
 TRS1     SHN    6
          STM    TRSA+2 
          LDN    TRSAL       DISPLAY CHARACTER
          ACN    CH 
          OAM    TRSA,CH
          DCN    CH 
          UJN    TRSX        RETURN 
  
 TRSA     BSS    0
          DATA   6400 
          DATA   7400 
          DATA   1L*
 TRSAL    EQU    *-TRSA 
 TRX      SPACE  4
**        TRX - TEST ROUTINE *X*. 
*         CROSSED DIAGONAL LINES. 
* 
*         USES   T4, T5.
* 
*         CALLS  FCN, TCR.
  
  
 TRX      SUBR               ENTRY/EXIT 
          RJM    TCR         SELECT TUBE
          RJM    FCN         FUNCTION CONSOLE 
          LDD    TS          CHECK TUBE SWITCH
          ZJN    TRX1        IF NOT TUBE 1
          LDD    TB1         SET TUBE 1 
          UJN    TRX2 
 TRX1     LDD    TB2         SET TUBE 2 
 TRX2     ADC    7010        FUNCTION DOT MODE
          FAN    CH 
          LDC    7000        BOTTOM LEFT TO TOP RIGHT 
          STD    T5 
          LDC    6000 
          STD    T4 
          ACN    CH 
 TRX3     LDN    2           OUTPUT COORDINATES 
          OAM    T4,CH
          AOD    T4 
          AOD    T5 
          LDD    T5 
          NJN    TRX3        LOOP 
          LCN    0           TOP LEFT TO BOTTOM RIGHT 
          STD    T5 
          LDC    6000 
          STD    T4 
 TRX4     LDN    2           OUTPUT COORDINATES 
          OAM    T4,CH
          AOD    T4 
          SOD    T5 
          LMC    6777 
          NJN    TRX4        LOOP 
          DCN    CH 
          LJM    TRXX        RETURN 
 TRZ      SPACE  4
**        TRZ - TEST ROUTINE *Z*. 
*         DOT/CHARACTER MODE POSITIONING COMPARISON.
* 
*         USES   T4 - T7. 
* 
*         CALLS  FCN, TCR.
  
  
 TRZ      SUBR               ENTRY/EXIT 
          RJM    TCR         SELECT TUBE
          RJM    FCN         FUNCTION CONSOLE 
          LDD    TS          CHECK TUBE SWITCH
          ZJN    TRZ1        IF NOT TUBE 1
          LDD    TB1         SET TUBE 1 
          UJN    TRZ2 
 TRZ1     LDD    TB2         SET TUBE 2 
 TRZ2     ADC    7000        SET CHARACTER MODE FUNCTION
          STM    TRZA 
          ADN    7010-7000   SELECT DOT MODE
          FAN    CH 
          ACN    CH 
  
*         DISPLAY CROSS.
  
          LDC    6540        SET HORIZONTAL LINE X-COORDINATES
          STD    T4 
          LDC    6240 
          STD    T6 
          LDC    7400        SET Y-COORDINATE 
          STD    T5 
 TRZ3     LDN    2           DISPLAY DOT
          OAM    T4,CH
          SOD    T4          DECREMENT X-COORDINATE 
          LMD    T6 
          NJN    TRZ3        LOOP TO END OF LINE
          LDC    7240        SET VERTICAL LINE Y-COORDINATES
          STD    T6 
          LDC    7540 
          STD    T5 
          LDC    6400        SET X-COORDINATE 
          STD    T4 
 TRZ4     LDN    2           DISPLAY DOT
          OAM    T4,CH
          SOD    T5          DECREMENT Y-COORDINATE 
          LMD    T6 
          NJN    TRZ4        LOOP TO END OF LINE
          DCN    CH 
  
*         DISPLAY *X* AND *O*.
  
          LDC    7000        SELECT CHARACTER MODE
 TRZA     EQU    *-1
          ADN    2           16 CHARACTERS/LINE 
          FAN    CH 
          ACN    CH 
          LDN    TRZBL
          OAM    TRZB,CH
          DCN    CH 
  
*         DISPLAY EXPLANATION.
  
          LDM    TRZA        SELECT CHARACTER MODE, 64 CHAR./LINE 
          FAN    CH 
          LDC    TRZCL
          ACN    CH 
          OAM    TRZC,CH
          DCN    CH 
          LJM    TRZX        RETURN 
  
 TRZB     BSS    0
          DATA   7400 
          DATA   6400 
          DATA   2RO
          DATA   7360 
          DATA   6360 
          DATA   2RX
 TRZBL    EQU    *-TRZB 
  
 TRZC     BSS    0
          DATA   7700 
          DATA   6000 
          DATA   H*IF O IS CENTERED ON CROSS, CHARACTERS ARE CENTERED*
          DATA   7640 
          DATA   6000 
          DATA   H*ON COORDINATES.* 
          DATA   7140 
          DATA   6000 
          DATA   H*IF X IS CENTERED ON CROSS, CHARACTERS HAVE LOWER*
          DATA   7100 
          DATA   6000 
          DATA   H*LEFT CORNERS ON COORDINATES.*
 TRZCL    EQU    *-TRZC 
 DSS      TITLE  DISPLAY SUBROUTINES
**        DSS - DISPLAY SYSTEM STATUS.
* 
*         CALLS  SYS. 
  
  
 DSS      SUBR               ENTRY/EXIT 
          LDC    6000        SET X - COORDINATE 
          STD    XC 
          RJM    SYS
          DCN    CH+40
          UJN    DSSX        RETURN 
 FCN      SPACE  4
**        FCN - FUNCTION CONSOLE FOR TUBE AND SIZE. 
* 
*         USES   TS.
  
  
 FCN      SUBR               ENTRY/EXIT 
          LDD    TS          CHECK TUBE SWITCH
          ZJN    FCN1        IF NOT TUBE 1
          LDD    TB1         SET TUBE 1 
          UJN    FCN2 
 FCN1     LDD    TB2         SET TUBE 2 
 FCN2     ADD    SZ          FORM FUNCTION CODE 
          ADC    7000 
          FAN    CH          SELECT TUBE AND SIZE 
          UJN    FCNX        RETURN 
 TCR      SPACE  4
**        TCR - SELECT TUBE, CHARACTER, SIZE. 
* 
*         USES   CR, SIZ, SZ, TB, TB1, TB2, TS. 
  
  
 TCR      SUBR               ENTRY/EXIT 
  
*         SELECT TUBE.
  
          LDN    0           PRESET TUBE 1 = TUBE 2 = *LEFT*
          STD    TB1
          STD    TB2
          LDD    TB          CHECK TUBE SELECTION 
          SBN    1RB
          NJN    TCR1        IF NOT *B* 
          LDD    HN          SET *BOTH* 
          UJN    TCR2 
 TCR1     SBN    1RR-1RB
          NJN    TCR3        IF NOT *R*  (ASSUME *L*) 
          LDD    HN          SET *RIGHT*
          STD    TB2
 TCR2     STD    TB1
  
*         SELECT SIZE.
  
 TCR3     LDN    2           PRESET *LARGE* 
          STD    SZ 
          LDD    SIZ         CHECK SELECTION
          ZJN    TCR6        IF NO SELECTION
          SBN    1RM
          NJN    TCR4        IF NOT *M* 
          LDN    1           SET *MEDIUM* 
          UJN    TCR5 
 TCR4     SBN    1RS-1RM
          NJN    TCR6        IF NOT *S* 
          LDN    0           SET *SMALL*
 TCR5     STD    SZ 
  
*         SELECT CHARACTER. 
  
 TCR6     LDD    CR 
          LPN    77 
          STD    CR 
          ZJN    TCR7        IF NO SELECTION
          SBN    1R$
          ZJN    TCR7        IF *$* 
          SBN    1R -1R$
          ZJN    TCR7        IF *BLANK* 
          SBN    1R.-1R +1
          MJN    TCR8        IF LEGAL DISPLAY CODE
 TCR7     LDN    1RA         SET *A*
          STD    CR 
 TCR8     LJM    TCRX        RETURN 
 MDC      SPACE  4
**        MDC - MODIFY CHANNEL INSTRUCTIONS.
* 
*         USES   T1, T2, T3.
  
  
 MDC      SUBR               ENTRY/EXIT 
          LDM    /COMDDSP/DDSB CHECK ASSIGNED CHANNEL 
          STD    T3 
          CHTE   *
          LMN    CH 
          ZJN    MDCX        IF CHANNELS MODIFIED 
          LDC    TCHS        MODIFY CHANNELS
          STD    T1 
 MDC1     LDI    T1 
          ZJN    MDC2        IF CHANNEL TABLE MODIFICATION COMPLETE 
          STD    T2 
          LDI    T2 
          SCN    77 
          ADD    T3 
          STI    T2 
          AOD    T1          ADVANCE ADDRESS
          UJN    MDC1        LOOP TO END OF TABLE 
 MDC2     LDC    MDCA        SET 1ST ADDRESS FOR BLIND MODIFICATION 
          STD    T1 
 MDC3     AOD    T1          ADVANCE ADDRESS
          LMC    MDCB 
          ZJN    MDCX        RETURN IF COMPLETE 
          LDI    T1          CHECK WORD 
          LPC    7077 
          LMC    7000+CH
          NJN    MDC3        IF NOT 7XCH
          LDI    T1          MODIFY INSTRUCTION 
          SCN    77 
          ADD    T3 
          STI    T1 
          UJN    MDC3        LOOP 
 TCHS     SPACE  4
**        TCHS - TABLE OF CHANNEL INSTRUCTIONS. 
  
 TCHS     CHTB
  
  
          RSTC               RESTORE CHANNEL INSTRUCTIONS 
 COMMON   SPACE  4,10 
**        COMMON DECKS. 
  
  
 MDCA     BSS    0           FIRST ADDRESS FOR BLIND CHANNEL MOD
  
*CALL     COMDSYS 
*CALL     COMDDSP 
  
 MDCB     BSS    0           LIMIT ADDRESS FOR BLIND CHANNEL MOD
 ATR      TITLE    UTILITY SUBROUTINES
**        ATR - ADVANCE TEST ROUTINE. 
* 
*         USES   PI, PA.
* 
*         CALLS  TTC. 
  
  
 ATR      SUBR               ENTRY/EXIT 
          LDD    KB          CHECK KEYBOARD 
          ZJN    ATR1        IF NO ENTRY
          RJM    STR         SELECT TEST ROUTINE
          UJN    ATRX        RETURN 
 ATR1     LDD    AF 
          NJN    ATR2        IF *ALL TESTS* 
          LDD    PA          TOGGLE ADDRESS 
          LMC    CTL
          LMM    TTRA,PI
          STD    PA 
          UJN    ATRX        RETURN 
 ATR2     AOD    PI          ADVANCE TEST 
 ATR3     LDM    TTRA,PI
          NJN    ATR4        IF NOT END OF TABLE
          STD    PI          RESET PROGRAM INDEX
          UJN    ATR3 
 ATR4     STD    PA 
          UJN    ATRX        RETURN 
 DRP      SPACE  4
**        DRP - DROP DISPLAY. 
* 
*         ENTRY  VIA *LJM*. 
* 
*         CALLS  DDS, FTN, PPR. 
  
  
 DRP      RJM    DDS         DROP DISPLAY 
 DPP      MONITOR DPPM       DROP PP
          LJM    PPR         EXIT TO PP RESIDENT
 STR      SPACE  4
**        STR - SELECT TEST ROUTINE.
* 
*         USES   CR, SZ, TB, T1.
* 
*         CALLS  EEB. 
  
  
 STR      SUBR               ENTRY/EXIT 
          LDN    0
          STD    T1          PRESET INDEX 
          STD    AF          CLEAR *ALL TESTS* FLAG 
          LDD    KB          CHECK TEST SELECTION 
          LMN    1RL
          NJN    STR1        IF NOT *L* 
          LDN    1           SET *ALL TESTS* FLAG 
          STD    AF 
          UJN    STR3 
 STR1     LDM    TTRM,T1
          NJN    STR2        IF NOT END OF TABLE
          STD    PI 
          LDC    CTL         SELECT CONTROL PROGRAM 
          STD    PA 
          RJM    EEB         ERASE ENTRY BUFFER 
          LDM    TTRM,PI     SET FIRST TEST MNEMONIC IN *PM*
          STD    PM 
          UJN    STRX        RETURN 
 STR2     LMD    KB 
          ZJN    STR3        IF TEST FOUND
          AOD    T1          ADVANCE INDEX
          UJN    STR1        LOOP 
 STR3     LDM    TTRA,T1     SET PROGRAM ADDRESS
          STD    PA 
          LDD    T1          SET PROGRAM INDEX
          STD    PI 
          LDD    KB          SET PROGRAM MNEMONIC 
          STD    PM 
          LDD    KB+1        SET TUBE 
          STD    TB 
          LDD    KB+2        SET CHARACTER
          STD    CR 
          LDD    KB+3        SET SIZE 
          STD    SIZ
          RJM    EEB         ERASE ENTRY BUFFER 
          LJM    STRX        RETURN 
  
*         TTRM - TABLE OF TEST MNEMONICS. 
  
 TTRM     BSS    0
          DATA   1RA
          DATA   1RC
          DATA   1RD
          DATA   1RI
          DATA   1RS
          DATA   1RX
          DATA   1RZ
          DATA   0
  
*         TTRA - TABLE OF TEST ADDRESSES. 
  
 TTRA     BSS    0
          CON    TRA
          CON    TRC
          CON    TRD
          CON    TRI
          CON    TRS
          CON    TRX
          CON    TRZ
          DATA   0
 TTC      SPACE  4
**        TTC - TOGGLE TEST AND CONTROL.
* 
*         USES   PA, PI.
* 
*         CALLS  STR. 
  
  
 TTC      SUBR               ENTRY/EXIT 
          LDD    KB          CHECK KEYBOARD 
          ZJN    TTC1        IF NO ENTRY
          RJM    STR         SELECT TEST ROUTINE
          UJN    TTCX        RETURN 
 TTC1     LDD    PA          TOGGLE ADDRESS 
          LMC    CTL
          LMM    TTRA,PI
          STD    PA 
          UJN    TTCX        RETURN 
          SPACE  4,10 
 DIS      HERE               *COMDSYS* *DISPLA* EXPANSION 
 PRS      TITLE  PRESET PROGRAM 
**        PRS - PRESET PROGRAM. 
* 
*         EXIT   (NC) = NUMBER OF CP-S. 
  
  
 PRS      SUBR               ENTRY/EXIT 
          CATD               CHECK ACCESS TO DISPLAY CONSOLE
          LDD    CM 
          NJN    CAT1        IF ENGINEERING MODE NOT ENABLED
 PRS1     PAUSE 
          LDD    FL 
          ZJN    PRS3        IF FL = 0
          LDD    CM+1 
          ZJN    PRS2        IF ERROR FLAG NOT SET
          LJM    DPP         DROP PP
  
 PRS2     STD    CM+2        SET CM REQUEST 
          MONITOR RSTM       REQUEST 0 FL 
          UJN    PRS1 
  
 PRS3     RJM    RDS         REQUEST DISPLAY
          RJM    MDC         MODIFY CHANNEL INSTRUCTIONS
          STD    TS          PRESET TUBE SWITCH 
          STD    KI          SET KEYBOARD INDEX 
          STD    AF          CLEAR *ALL TESTS* FLAG 
          STD    PI          SET PROGRAM INDEX
          CRD    KB          CLEAR KEYBOARD BUFFER
          LDN    1RA         SET PROGRAM MNEMONIC *A* 
          STD    PM 
          LDC    CTL         PRESET PROGRAM ADDRESS = *CONTROL* 
          STD    PA 
          LDD    HN          PRESET *RIGHT* TUBE
          STD    TB1
          STD    TB2
          LDN    1RB
          STD    TB 
          LDN    2           PRESET *LARGE* SIZE
          STD    SZ 
          LDN    1RL
          STD    SIZ
          LDN    1RA         PRESET CHARACTER = *A* 
          STD    CR 
          LDC    6200        SET KEYBOARD BUFFER DISPLAY COORDINATES
          STD    KX 
          LDC    7340 
          STD    KY 
          LDN    NCPL        SAVE NUMBER OF CP-S
          CRD    CM 
          AOD    CM+1 
          STD    NC 
          LJM    PRSX        RETURN 
          SPACE  4
**        COMMON DECKS. 
  
  
*CALL     COMPCUA 
          SPACE  4
          END 
