(FILECREATED " 8-May-85 12:20:13" {DSK}<LISPFILES>TEK4010.;1 5551   

      changes to:  (VARS TEK4010COMS)

      previous date: "27-Mar-85 14:31:11" {DSK}<LISPFILES>TEK4010FILTER.;2)


(* Copyright (c) 1985 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT TEK4010COMS)

(RPAQQ TEK4010COMS ((FNS GLOMHI&LO TEK.DRAWTO TEK.MOVETO TEK4010.INTERP)
		    (MACROS ->NEXTSTATE \BIN7BITS)
		    (VARS TEKPTSPERPOINT)))
(DEFINEQ

(GLOMHI&LO
  [LAMBDA (HIBYTE LOBYTE)                                    (* hdj "10-Sep-84 14:32")
    (IPLUS LOBYTE (LLSH HIBYTE 5])

(TEK.DRAWTO
  [LAMBDA (X Y WIDTH OPERATION STREAM)                       (* AJB "18-Mar-85 16:16")
    (DRAWTO (IQUOTIENT X TEKPTSPERPOINT)
	    (IQUOTIENT Y TEKPTSPERPOINT)
	    WIDTH OPERATION STREAM])

(TEK.MOVETO
  [LAMBDA (X Y STREAM)                                       (* AJB "18-Mar-85 16:16")
    (MOVETO (IQUOTIENT X TEKPTSPERPOINT)
	    (IQUOTIENT Y TEKPTSPERPOINT)
	    STREAM])

(TEK4010.INTERP
  [LAMBDA (INSTREAM OUTSTREAM)                               (* AJB "27-Mar-85 12:55")
    (PROG (CURRSTATE PREVSTATE INBYTE HI2BITS LO5BITS HIX LOX HIY LOY DRAWP)
                                                             (* start out by moving, not drawing)
          (SETQQ PREVSTATE @ALPHASTATE)
          (SETQQ CURRSTATE @ALPHASTATE)
      @ALPHASTATE
          (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS)
          (COND
	    ((ZEROP HI2BITS)
	      (->NEXTSTATE @ALPHA.CTRLSTATE))
	    (T (BOUT OUTSTREAM INBYTE)
	       (->NEXTSTATE @ALPHASTATE)))
      @GRAPHICSSTATE
          (SETQ DRAWP NIL)
          (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS)
          (SELECTQ HI2BITS
		   (0 (->NEXTSTATE @GRAPHICS.CTRLSTATE))
		   (1 (->NEXTSTATE @HIYSTATE))
		   (2 (->NEXTSTATE @LOXSTATE))
		   (3 (->NEXTSTATE @LOYSTATE))
		   NIL)
      @HIYSTATE
          (SETQ HIY LO5BITS)
          (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS)
          (SELECTQ HI2BITS
		   (0 (->NEXTSTATE @GRAPHICS.CTRLSTATE))
		   (1 (->NEXTSTATE @HIYSTATE))
		   (2 (->NEXTSTATE @LOXSTATE))
		   (3 (->NEXTSTATE @LOYSTATE))
		   NIL)
      @LOYSTATE
          (SETQ LOY LO5BITS)
          (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS)
          (SELECTQ HI2BITS
		   (0 (->NEXTSTATE @GRAPHICS.CTRLSTATE))
		   (1 (->NEXTSTATE @HIXSTATE))
		   (2 (->NEXTSTATE @LOXSTATE))
		   (3 (->NEXTSTATE @LOYSTATE))
		   NIL)
      @HIXSTATE
          (SETQ HIX LO5BITS)
          (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS)
          (SELECTQ HI2BITS
		   (0 (->NEXTSTATE @GRAPHICS.CTRLSTATE))
		   (1 (->NEXTSTATE @HIYSTATE))
		   (2 (->NEXTSTATE @LOXSTATE))
		   (3 (->NEXTSTATE @LOYSTATE))
		   NIL)
      @LOXSTATE
          (SETQ LOX LO5BITS)
          (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS)
          (COND
	    (DRAWP (TEK.DRAWTO (GLOMHI&LO HIX LOX)
			       (GLOMHI&LO HIY LOY)
			       1 NIL OUTSTREAM))
	    (T (TEK.MOVETO (GLOMHI&LO HIX LOX)
			   (GLOMHI&LO HIY LOY)
			   OUTSTREAM)
	       (SETQ DRAWP T)))
          (SELECTQ HI2BITS
		   (0 (->NEXTSTATE @GRAPHICS.CTRLSTATE))
		   (1 (->NEXTSTATE @HIYSTATE))
		   (2 (->NEXTSTATE @LOXSTATE))
		   (3 (->NEXTSTATE @LOYSTATE))
		   NIL)
      @ALPHA.CTRLSTATE
          (SELECTQ LO5BITS
		   (7 (RINGBELLS 1))
		   (8 (RELMOVETO -14 0 OUTSTREAM))
		   (9 (RELMOVETO 14 0 OUTSTREAM))
		   (10 (RELMOVETO 0 -22 OUTSTREAM))
		   (11 (RELMOVETO 0 22 OUTSTREAM))
		   (27 (->NEXTSTATE @ESCSTATE))
		   (29 (->NEXTSTATE @GRAPHICSSTATE))
		   (13 (MOVETO 0 (DSPYPOSITION NIL OUTSTREAM)
			       OUTSTREAM)
		       (->NEXTSTATE @ALPHASTATE))
		   (31 (->NEXTSTATE @ALPHASTATE))
		   NIL)
          (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS)
          (COND
	    ((EQ HI2BITS 0)
	      (->NEXTSTATE @ALPHA.CTRLSTATE))
	    (T (->NEXTSTATE @ALPHASTATE)))
      @GRAPHICS.CTRLSTATE
          (SELECTQ LO5BITS
		   (4 (->NEXTSTATE @ALPHASTATE))
		   (7 (RINGBELLS 1))
		   (8 (RELMOVETO -14 0 OUTSTREAM))
		   (9 (RELMOVETO 14 0 OUTSTREAM))
		   (10 (RELMOVETO 0 -22 OUTSTREAM))
		   (11 (RELMOVETO 0 22 OUTSTREAM))
		   (27 (->NEXTSTATE @ESCSTATE))
		   (29 (->NEXTSTATE @GRAPHICSSTATE))
		   (13 (MOVETO 0 (DSPYPOSITION NIL OUTSTREAM)
			       OUTSTREAM))
		   (31 (->NEXTSTATE @ALPHASTATE))
		   NIL)
          (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS)
          (SELECTQ HI2BITS
		   (0 (->NEXTSTATE @GRAPHICS.CTRLSTATE))
		   [1 (COND
			((EQUAL PREVSTATE (QUOTE @LOYSTATE))
			  (->NEXTSTATE @HIXSTATE))
			(T (->NEXTSTATE @HIYSTATE]
		   (2 (->NEXTSTATE @LOXSTATE))
		   (3 (->NEXTSTATE @LOYSTATE))
		   NIL)
      @ESCSTATE
          (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS)
          (COND
	    ((EQ LO5BITS 12)
	      (DSPRESET OUTSTREAM)))
          (->NEXTSTATE @ALPHASTATE])
)
(DECLARE: EVAL@COMPILE 
[PUTPROPS ->NEXTSTATE MACRO ((STATE)
	   (PROGN (SETQ PREVSTATE CURRSTATE)
		  (SETQ CURRSTATE STATE)
		  (GO STATE]
[PUTPROPS \BIN7BITS MACRO (ARGS (LET ((INSTREAM (CAR ARGS))
				      (INBYTE (CADR ARGS))
				      (HI2BITS (CADDR ARGS))
				      (LO5BITS (CADDDR ARGS)))
				     (BQUOTE (PROGN (SETQ , INBYTE (LOGAND 127 (BIN , INSTREAM)))
						    (SETQ , HI2BITS (LRSH , INBYTE 5))
						    (SETQ , LO5BITS (LOGAND , INBYTE 31]
)

(RPAQQ TEKPTSPERPOINT 2)
(PUTPROPS TEK4010 COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (434 4979 (GLOMHI&LO 444 . 592) (TEK.DRAWTO 594 . 817) (TEK.MOVETO 819 . 1026) (
TEK4010.INTERP 1028 . 4977)))))
STOP