(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