;*; Updated on 04-Feb-88 at 10:32 pm by Tom Faust; edit time: 0:09:29

QTYP..: SAVE    A2,D1,D3
       MOV     ^O14(SP),A2             ; Get address of text (return address)
       CLR     D3                      ; Flag in/out of high intensity
10$:    MOVW    #^O177400!11.,D1
       TCRT
20$:    MOVB    (A2)+,D1                ; Get next character
       BEQ     40$                     ;   done at null
       CMPB    D1,#'_                  ; Underline?
       BEQ     30$
 25$:  TTY                             ; Output the character
       CMPB    D1,#13.                 ; A CR?
       BNE     20$
       MOVB    #10.,D1                 ; Output an LF too!
       BR      25$
30$:    COM     D3                      ; Flag change in intensity
       BEQ     10$                     ;   if zero, set low
       MOVW    #^O177400!12.,D1        ;       else set high
       TCRT
       BR      20$
40$:    MOV     A2,D3
       INC     D3                      ; Increment address to find even
       BCLR    #0,D3
       MOV     D3,^O14(SP)             ; Adjust return address
       REST    A2,D1,D3
       RTN